如何让 Java 输出到我的焦点所在? (示例:打开文本文档)

问题描述 投票:0回答:1

我使用 jnativehook.keyboard.NativeKeyListener 来监听在打开的文本文档中键入的键。这里没问题。 经过短暂的排列(想想凯撒密码),我想将 output 发送回该打开的文本文档。 我该怎么做呢?这似乎出人意料地复杂......

java io system.out jnativehook
1个回答
0
投票

实际上,与您帖子的评论者所说的相反,有一种 Java 方法可以使用机器人发送关键事件。

  1. Robot bot = new Robot();
    java.awt.Robot

  2. 如果您有

    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());
    
  3. 如果您有 Java Swing/AWT KeyEvent(

    KeyEvent pKeyEvent
    ,如
    java.awt.event.KeyEvent
    ),您可以像这样使用它:

         bot.keyPress(pKeyEvent.getKeyCode());
         actionSleep(); // sleep
         bot.keyRelease(pKeyEvent.getKeyCode());
    
  4. 如果您想通过代码发送密钥,您可以使用它(用于按下和释放键“a”):

         bot.keyPress(KeyEvent.VK_A);
         actionSleep(); // sleep
         bot.keyRelease(KeyEvent.VK_A);
    

机器人还具有一些附加功能,例如屏幕捕获/屏幕截图、屏幕像素读取、控制鼠标。

© www.soinside.com 2019 - 2024. All rights reserved.