我正在尝试在java中编写自动化代码。为了做到这一点,我捕捉我的屏幕并循环通过它找到我需要陈词滥调的东西。 在我的Windows XP计算机上进行相应的工作(我得到一个正确的屏幕截图,因此可以循环通过它),在我的Windows 8.1机器上我只得到一个黑色的。 这是我(错误?)代码的一部分。
public class NewClass {
static final Dimension dim_D = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());
static final int i_SCREEN_WIDTH = (int) dim_D.getWidth();
static final int i_SCREEN_HEIGHT = (int) dim_D.getHeight();
public static void main(String[] args) {
try {
Robot robot = new Robot();
try {
BufferedImage biCapturedScreen = robot.createScreenCapture(new Rectangle(0, 0, i_SCREEN_WIDTH, i_SCREEN_HEIGHT));
ImageIO.write(biCapturedScreen, "PNG", new File("D:\\tempShot.png"));
} catch (IOException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (AWTException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
当我得到PNG 1920x1080黑色图像时,我想这不是写入权限问题。 知道为什么这不适用于我的8.1机器吗? 谢谢! 托马斯B.