在c中写一个关键的听众

时间:2012-05-21 11:42:39

标签: java c java-native-interface hook keylogger

我想用Java编写自己的键盘记录器。要编写键盘记录器,我需要一个钩子文件来捕获用户的关键事件。我怎么能写这个钩子文件,以便我能够得到用户按下的键。我不知道如何用C语言编写全局键监听器。

1 个答案:

答案 0 :(得分:2)

您尝试做的事情不会与平台无关。因此,我只能告诉你如何在Windows上进行操作。

在Windows中,这样做的方法是使用winapi。您可以将SetWindowsHookEx函数与WH_KEYBOARD参数一起使用:

  

安装一个监视击键消息的钩子程序。有关更多信息,请参阅KeyboardProc挂钩过程。

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

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