gpt4 book ai didi

java - 为什么需要 `robot.keyRelease(KeyEvent.VK_CONTROL)`?

转载 作者:行者123 更新时间:2023-12-01 15:44:39 25 4
gpt4 key购买 nike

使用Robot类时,什么意思:

robot.keyRelease(KeyEvent.VK_CONTROL);

下面的代码是否足以发送事件?

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);

最佳答案

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。作为一般规则,机器人应该或多或少准确地模拟您作为用户会做什么。

关于java - 为什么需要 `robot.keyRelease(KeyEvent.VK_CONTROL)`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com