帮助使用Java接受来自另一个焦点窗口的输入

时间:2010-11-13 02:42:46

标签: java windows input keyboard

我想编写一个程序,当我按下键盘上的某个键时会响应。但是,在前台运行一个完全不相关的全屏程序,我的程序将没有窗口焦点。

所以,基本上,我想要做的是启动我的程序并让它在后台运行,然后启动全屏程序。然后,当我按下某个键时,我希望能够让我的程序在后台执行操作。

有没有办法在Java中执行此操作?如果没有,有什么办法可以做到吗?

我的平台是Windows 7。

1 个答案:

答案 0 :(得分:0)

击键是O / S事件。您可以使用钩子在C ++中编写一个侦听器,然后在它上面创建一个JNI接口。

查找用于挂钩程序的“SetWindowsHookEx”函数的MSDN条目。

如果您不想对JNI大惊小怪,请考虑在Visual C ++或Visual Basic中实现侦听器,并将.NET二进制文件交叉编译为Java字节码。这是一个免费的工具:http://www.ikvm.net/