我想用Java编写自己的键盘记录器。要编写键盘记录器,我需要一个钩子文件来捕获用户的关键事件。我怎么能写这个钩子文件,以便我能够得到用户按下的键。我不知道如何用C语言编写全局键监听器。
答案 0 :(得分:2)
您尝试做的事情不会与平台无关。因此,我只能告诉你如何在Windows上进行操作。
在Windows中,这样做的方法是使用winapi。您可以将SetWindowsHookEx函数与WH_KEYBOARD
参数一起使用:
安装一个监视击键消息的钩子程序。有关更多信息,请参阅KeyboardProc挂钩过程。
这样,每次按下一个键,你基本上都会告诉windows调用你预定义的函数(作为参数发送到SetWindowsHookEx)。您可以在我给你的网页上阅读有关细节的信息。
由于SetWindowsHookEx函数是特定于Windows的,请注意您不能在linux或任何其他操作系统上使用它。另外,对于一个基本程序来做你想做的事情,你真的不需要Java。你可以用C / C ++完成所有工作。