2
从我的Java应用程序,我尝试着重于Windows中的另一个打开的应用程序,然后发送一些KeyEvent。 一切工作正常,直到第二个窗口打开(由于我发送的KeyEvents,是正常的预期行为)在提到的应用程序。当第二个窗口打开时,我的代码中的下一个KeyEvents不再执行。任何帮助?java专注于其他应用程序
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.io.IOException;
public class RobotANB {
public static void main(String[] args) throws AWTException, IOException {
Runtime.getRuntime().exec("[path to EXE]");
Robot robot = new Robot();
robot.delay(20);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.delay(20);
robot.keyPress(KeyEvent.VK_N);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_N);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay(20);
robot.keyPress(KeyEvent.VK_ALT);
robot.delay(20);
robot.keyPress(KeyEvent.VK_D);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_D);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_ALT);
robot.delay(20);
// S
robot.keyPress(KeyEvent.VK_S);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_S);
robot.delay(20);
// Second window in other application opens here
// Code below no longer executed and should be
// executed in the second window
robot.keyPress(KeyEvent.VK_TAB);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_TAB);
robot.delay(20);
robot.keyPress(KeyEvent.VK_TAB);
robot.delay(20);
robot.keyRelease(KeyEvent.VK_TAB);
robot.delay(20);
}
}