java.awt.robot 类的替代或包装器



所以我一直在尝试使用java.awt.robot类和jnativehook创建一个复制和粘贴程序,该程序可以在你不应该复制和粘贴的地方工作。基本上,它只是等待您键入crtl + v,拿着剪贴板,然后应该使用机器人将其打印出来。这里的问题是,为了键入所有不同的字符,您必须对如何键入它们进行硬编码。因为我知道这可能没有得到很好的解释,这里有一个例子: 打印"嗨:)" 您必须编写以下代码:

r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_H);
r.keyRelease(KeyEvent.VK_H);
r.keyRelease(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_I);
r.keyRelease(KeyEvent.VK_I);
r.keyPress(KeyEvent.VK_SPACE);
r.keyRelease(KeyEvent.VK_SPACE);
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_PERIOD);
r.keyRelease(KeyEvent.VK_PERIOD);
r.keyRelease(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_9);
r.keyRelease(KeyEvent.VK_9);
r.keyRelease(KeyEvent.VK_SHIFT);

这是痛苦且难以自动化的。

所以我基本上是在要求一些东西已经实现了键入哪些键以获得给定输出的逻辑。

你可以用JNativeHook收集的事件直接发送回GlobalScreen.postNativeEvent(...(,甚至不用弄乱java.awt.robot类。

最新更新