听键盘C#(WinForm)

时间:2015-12-15 20:41:49

标签: c# winforms listener keyboard-events

我正在编写一个程序,当用户空闲" (即没有来自用户的输入 - 不移动鼠标或键入任何内容)。我已经注意检测鼠标是否在移动(通过将鼠标位置存储为变量并在稍后将当前位置与该变量进行比较),但我无法弄清楚如何检测键盘输入

我知道如果用户正在输入表单本身,我可以使用事件监听器(KeyDown,KeyPressed等),但我希望这个程序能够在任何程序中的计算机上的任何地方检测键盘输入。

有没有办法实现这个目标?我的所有研究都产生了检查表格内部的方法,但不是全球性的。

注意:不确定这是否重要,但我不在乎用户输入的内容(按下了哪些键)。我需要知道的是键盘活动。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找的是全球键盘挂钩。

包含说明和来源的示例: here

编辑:在@FᴀʀʜᴀɴAɴᴀᴍ回答中,使用GetLastInputInfo作为系统调用(SendInput(),keybd_event()等)获取所有会触发它也是不合适的,所以这并不意味着用户在技术上那里。

相关问题