-2

我想使用 Java 编写自己的键盘记录器。要编写键盘记录器,我需要一个挂钩文件来捕获用户的键盘事件。我如何编写这个钩子文件,以便我能够获取用户按下的键。我不知道如何在 C 中编写全局键侦听器。

4

1 回答 1

2

您正在尝试做的事情不会独立于平台。因此,我只能提示您如何在 Windows 上执行此操作。

在 Windows 中,执行此操作的方法是使用 winapi。您可以使用带有以下参数的SetWindowsHookEx函数WH_KEYBOARD

安装一个挂钩程序来监视击键消息。有关详细信息,请参阅 KeyboardProc 挂钩过程。

这样,您基本上会在每次按下某个键时告诉 Windows 调用您的预定义函数(作为 SetWindowsHookEx 的参数发送)。你可以阅读我给你的网页上的细节。

由于 SetWindowsHookEx 函数是特定于 windows 的,请注意您不能在 linux 或任何其他操作系统上使用它。此外,对于一个基本程序来做你想做的事,你并不真的需要 Java。你几乎可以用 C/C++ 做所有事情。

于 2012-05-21T11:57:59.223 回答