我有以下 Java 代码用于捕获屏幕截图:
import org.sikuli.script.Screen;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
public class Screenshot{
public static void main(String[] args) throws IOException
{
Screen screen = new Screen();
ImageIO.write(screen.capture(screen).getImage(), "png", new File("D:\\myScreen.png"));
}
}
我使用以下代码编译这段代码:
javac -classpath .;sikulixapi-2.0.4.jar Screenshot.java
并运行它:
java -classpath .;sikulixapi-2.0.4.jar Screenshot
我尝试远程运行它,使用
psexec \\xx.xx.xxx.xxx -w "D:\Sikuli" java -classpath .;sikulixapi-2.0.4.jar Screenshot
结果不是远程屏幕的图片,而是黑色背景。
有什么办法可以让这个工作吗?
答案 0 :(得分:1)
要检查您是否主要可以通过这种方式拍摄远程屏幕,您可以使用 SikuliX 内部使用的内容:java.awt.Robot
试试这个:
import java.awt.*;
...
BufferedImage img = new Robot().createScreenCapture(new Rectangle(0, 0, 500, 500))
...然后你的编码将图像存储在某处。
如果图像是黑色的,则说明远程系统上的显示器设置有问题。它必须是非无头的(真实屏幕)并且机器人必须可以访问解锁的屏幕。
来自 SikuliX 的 RaiMan