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);
}
}