【发布时间】:2017-07-25 07:08:41
【问题描述】:
所以我一直在尝试使用 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);
这很痛苦且难以自动化。
所以我基本上是在要求已经实现了键入什么键以获得给定输出的逻辑。
【问题讨论】:
-
最简单的方法可能是switch case
标签: java types keyboard awtrobot