很奇怪的问题啊。单独运行没有问题。用wrapper的App.bat运行也没有问题。
但是用wrapper注册成服务(InstallApp-NT.bat)运行就生成不了图片了。
生成的图片文件都是5k根本看不了。不知道是为什么啊。这跟注册成服务有什么关系啊?
源码如下:import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;public class RunPic
{
static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
private static final String Date = "date/";
public static final void snapShot() {
try {
BufferedImage screenshot = (new Robot())
.createScreenCapture(new Rectangle(0, 0,
(int) d.getWidth(), (int) d.getHeight()));
String name = Date +System.currentTimeMillis() + ".png";
if (!new File(Date).exists()) {
new File(Date).mkdirs();
}
File f = new File(name);
System.out.println("d.getWidth()=="+d.getWidth());
System.out.println("d.getHeight()=="+d.getHeight());
ImageIO.write(screenshot, "png", f);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
snapShot(); }}
wrapper配置文件如下(我认为重要的节选如下):
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=lib# Java Additional Parameters
#wrapper.java.additional.1=interf.GuiRun# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=64# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=256# Name of the service
wrapper.ntservice.name=infos# Display name of the service
wrapper.ntservice.displayname=infos# Description of the service
wrapper.ntservice.description=infos# Service dependencies.  Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=# Mode in which the service is installed.  AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false

解决方案 »

  1.   

    windows services 也就是调用wrapper.exe没有什么特别的所以LZ肯定是遗漏考虑什么问题了,比如timing?。wrapper configuration 肯定也是没有问题的。用我另一个帖子回你的方法自己试一试找出问题的根源吧。我没有你的本地环境,所以也帮不上。
    自己找出问题并解决问题是成为project lead or manager的首要条件。楼主加油。
      

  2.   


    确实没有一点思路啊。。我问了有人告诉我说可能跟登陆用户有关有人又说
    # Java Additional Parameters
    wrapper.java.additional.1=-Djava.awt.headless=true要增加这句啊。可是也不行啊。
    增加 wrapper.java.additional.1=-Djava.awt.headless=true 报错啊
    我修改成wrapper.java.additional.1=-Djava.awt.headless=false
    不报错了。但是依然是5k的非图片格式的文件啊。