use*_*066 5 java windows keyboard keyboard-hook
我想用Java模拟按键。其他人已经使用 Robot 进行了尝试。这只允许原子按键,我想模拟按键保持(例如,一秒钟)和释放。所以,我需要使用JNA或JNI。
我研究了 JNative,但这似乎是为了在操作系统级别消耗关键事件,而不是在操作系统级别生成它们。如何从 Java 生成此类事件?
谢谢
来自 JavaDoc:
void java.awt.Robot.keyPress(int keycode)
Presses a given key. The key should be released using the keyRelease method.
Run Code Online (Sandbox Code Playgroud)
编辑:添加示例:
Robot robot = new Robot();
System.out.println("You have 2 seconds to jump to the target window...");
Thread.sleep(2000);
robot.keyPress( KeyEvent.VK_A);
robot.keyRelease( KeyEvent.VK_A);
robot.keyPress( KeyEvent.VK_SHIFT);
robot.keyPress( KeyEvent.VK_A);
robot.keyRelease( KeyEvent.VK_SHIFT);
robot.keyRelease( KeyEvent.VK_A);
Thread.sleep(2000);
Run Code Online (Sandbox Code Playgroud)
目标窗口上的输出:
aA
Run Code Online (Sandbox Code Playgroud)
(我知道这不是您想要的,但我将其添加为未来的读者作为参考,这样他们就不会认为 JavaDoc 或 Robot 中存在错误)
| 归档时间: |
|
| 查看次数: |
1789 次 |
| 最近记录: |