作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用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/
procedure TSell.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if (Msg.
我们的键盘上有 2 个 CTRL/ALT/SHIFT 按钮。但是win api中有VK_CONTROL/VK_LCONTROL/VK_RCONTROL可用。那么哪个值是 VK_CONTROL? VK_
使用Robot类时,什么意思: robot.keyRelease(KeyEvent.VK_CONTROL); 下面的代码是否足以发送事件? Robot robot = new Robot(); rob
Win32 API 中的 MK_CONTROL 和 VK_CONTROL 有什么区别? 首先,我检查了定义的值。 MK_CONTROL:0x0008VK_CONTROL:0x11 其次,我在这样的简单
我是一名优秀的程序员,十分优秀!