Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中操作应用程序的特定窗口_Java_Windows_Automation_Awtrobot - Fatal编程技术网

如何在Java中操作应用程序的特定窗口

如何在Java中操作应用程序的特定窗口,java,windows,automation,awtrobot,Java,Windows,Automation,Awtrobot,基本上,我正在用Java为一个游戏编写一个程序,以便对某些任务进行自我自动化。不过,我不太确定我怎样才能把某些事情做到我喜欢的程度 大多数任务是单击某些区域并输入文本。我知道这大部分可以通过java.awt.Robot完成 然而,我的问题是两件事 1) 我怎样才能不用鼠标和键盘在上述游戏窗口中执行这些任务。这样我就可以在程序自动运行时最小化或将游戏放到一边。如果这有帮助的话,这个游戏就是java应用程序 2) 我正在使用Opencv进行图像识别,通过分析窗口的一小块区域来查看某项任务是否完成。有

基本上,我正在用Java为一个游戏编写一个程序,以便对某些任务进行自我自动化。不过,我不太确定我怎样才能把某些事情做到我喜欢的程度

大多数任务是单击某些区域并输入文本。我知道这大部分可以通过java.awt.Robot完成

然而,我的问题是两件事

1) 我怎样才能不用鼠标和键盘在上述游戏窗口中执行这些任务。这样我就可以在程序自动运行时最小化或将游戏放到一边。如果这有帮助的话,这个游戏就是java应用程序


2) 我正在使用Opencv进行图像识别,通过分析窗口的一小块区域来查看某项任务是否完成。有没有办法用java.awt.Robot指定我要拍摄屏幕的哪个部分?

通过使用java.awt.Robot类,您可以执行诸如移动鼠标、按键盘键和拍摄屏幕截图之类的操作,而不能执行后台任务

public class TestRobot {

Robot ro;
Image img;

public TestRobot(){

    ro.mouseMove(100, 200); // move mouse to specific point

    ro.mousePress(InputEvent.BUTTON1_MASK ); //mouse click
    ro.mouseRelease(InputEvent.BUTTON1_MASK ); // mouse release

    ro.keyPress(KeyEvent.VK_F1); //press F1
    ro.keyRelease(KeyEvent.VK_F1); //release F1

    img = ro.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); // take screen shot 
    }
}

欢迎来到堆栈溢出!如果您可以发布单独的问题,而不是将您的问题合并为一个问题,这是首选。这样,它可以帮助人们回答你的问题,也可以帮助其他人寻找至少一个你的问题。谢谢