0

我需要创建一个在每次按键时触发事件的程序(如按键记录器)。我无法获得关键值。该程序将在每次按键触发事件后运行。我在网上没有找到任何与此相关的东西。

4

1 回答 1

0

什么都找不到,这很奇怪。您应该用户KeyListener记录关键事件。如果只有一个事件(例如 keyUP、keyDown 或 keyPress)是相关的,则KeyAdapter改为使用。

问题是键侦听器可以附加到任何 java 屏幕元素并仅捕获分派到该元素的事件。例如,您可以创建 Frame 并向其添加关键侦听器,并使用此帧捕获所有关键事件。

您无法在 Java 应用程序之外捕获关键事件。

如果您仍想这样做,您可以使用以下解决方法。创建透明窗口并向其添加侦听器。侦听器应该捕获事件,记录它们,然后在屏幕上的同一位置使用java.awt.Robot.

此参考将帮助您创建透明窗口:http ://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shape_windows.html

其他方式是直接或间接使用 JNI/JNA。例如 xdotools 可以帮助你。

于 2012-09-24T15:48:37.040 回答