在使用Robot类时,以下内容的含义是什么:
robot.keyRelease(KeyEvent.VK_CONTROL);下面的代码不应该足以发送事件吗?
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);发布于 2011-09-06 14:57:46
keyPress将发送一个按键已被按下的事件。keyRelease将发送密钥已被释放的事件。如果你想模拟打字,你可能需要这样做:
public class SuperRobot extends Robot {
public void typeKey(int keyCode) {
keyPress(keyCode);
delay(20);
keyRelease(keyCode);
}
}
public static void main(String[] args) {
try {
SuperRobot r = new SuperRobot();
// Now, let's press Ctrl+A
r.keyPress(KeyEvent.VK_CONTROL);
r.typeKey(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_CONTROL);
} catch (Exception ex) { // Either AWTException or SecurityException
System.out.println("Oh no!");
}
}请注意,要使用掩码键入内容,例如Ctrl+A,我们首先按下Ctrl键,然后模拟按下并松开A键,然后松开Ctrl键。一般来说,机器人应该或多或少准确地模拟您作为用户所做的事情。
发布于 2014-05-06 20:46:19
robot.keyRelease(KeyEvent.VK_CONTROL); 为了释放按键的按下效果,如果您使用robot.keyPress(KeyEvent.VK_CONTROL)按下了某个键,那么您也应该释放它,否则一旦您的java应用程序运行,您的键盘将继续按住Ctrl键。
https://stackoverflow.com/questions/7315803
复制相似问题