我使用 jnativehook.keyboard.NativeKeyListener 来监听在打开的文本文档中键入的键。这里没问题。 经过短暂的排列(想想凯撒密码),我想将 output 发送回该打开的文本文档。 我该怎么做呢?这似乎出人意料地复杂......
实际上,与您帖子的评论者所说的相反,有一种 Java 方法可以使用机器人发送关键事件。
Robot bot = new Robot();
(java.awt.Robot
)
如果您有
NativeKeyEvent pKeyEvent
(如 org.jnativehook.keyboard.NativeKeyEvent
),那么您可以使用 将该密钥发回
bot.keyPress(pKeyEvent.getRawCode());
actionSleep(); // sleep for as long as you need, normal is ~20-60 ms
bot.keyRelease(pKeyEvent.getRawCode());
如果您有 Java Swing/AWT KeyEvent(
KeyEvent pKeyEvent
,如 java.awt.event.KeyEvent
),您可以像这样使用它:
bot.keyPress(pKeyEvent.getKeyCode());
actionSleep(); // sleep
bot.keyRelease(pKeyEvent.getKeyCode());
如果您想通过代码发送密钥,您可以使用它(用于按下和释放键“a”):
bot.keyPress(KeyEvent.VK_A);
actionSleep(); // sleep
bot.keyRelease(KeyEvent.VK_A);
机器人还具有一些附加功能,例如屏幕捕获/屏幕截图、屏幕像素读取、控制鼠标。