我需要创建一个程序,在每次按键时触发事件(如键盘记录器)。我无法获得关键价值。这个程序将在每个按键触发事件后面和后面运行。我没有在网上发现任何与此有关的事情。
答案 0 :(得分:0)
你找不到任何东西是很奇怪的。
您应该使用KeyListener
来记录关键事件。如果只有一个事件(例如keyUP,keyDown或keyPress)相关,请使用KeyAdapter
。
问题是,键侦听器可以附加到任何java屏幕元素,并捕获仅分派给此元素的事件。例如,您可以创建Frame并向其添加键侦听器并捕获具有此帧的所有键事件。
您无法捕获Java应用程序之外的关键事件。
如果您仍想这样做,可以使用以下解决方法。创建透明窗口并向其添加侦听器。监听器应该捕获事件,记录它们,然后使用java.awt.Robot
在屏幕上的相同位置模仿它们。
此参考将帮助您创建透明窗口:http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html
其他方式是直接或间接使用JNI / JNA。例如xdotools可以帮助你。