Java全局按键?

时间:2011-04-01 19:26:36

标签: java keypress

对于我的程序,我需要注册在没有应用程序焦点的情况下发生的关键事件。 (即关注焦点的互联网浏览器)我一直在寻找,人们说你可以用jni做到这一点;但是,如果没有它,有没有呢?

有人能给我一个非常好的jni示例的链接吗?到目前为止我看过的那些并不是很有帮助

2 个答案:

答案 0 :(得分:2)

JIntellitype(这是一个Apache 2.0许可证)将在Windows中为您执行此操作。 JxGrabKey似乎是Linux的有效解决方案。我不知道跨平台解决方案。 (这些仍然使用JNI,但他们会为你抽象细节)

http://melloware.com/products/jintellitype/index.html

http://sourceforge.net/projects/jxgrabkey/

答案 1 :(得分:1)

您想创建一个密钥记录器吗?不,如果没有JNI或使用一些将JNI包裹起来的库,这是不可能的。

Java在您自己的Frames / Windows之外执行操作的唯一方法是使用java.awt.Robot,但这只允许截图并将输入发送到其他程序,而不是捕获输入。