GetLastInputInfo无法正常工作?

时间:2014-10-12 16:10:33

标签: c++ windows winapi

我使用GetLastInputInfo检查鼠标和键盘的最后输入信息。 在我的PC上的系统工作正常,但当我在我的笔记本电脑上运行我的程序时,它无法正常工作。 我看到LASTINPUTINFO每10-15秒就会改变一次。

现在,我正在编写示例程序,用于检查来自鼠标和键盘的所有输入,并保存此设备的最后输入时间,但如果我闲置,这次不会改变。

如何检查谁生成活动(设备/程序)并更改结构LASTINPUTINFO?

1 个答案:

答案 0 :(得分:4)

您可以使用Raw Input查看活动是否来自实际的鼠标/键盘本身。如果是,您可能有一个有故障的设备驱动程序,或者运行某种内部计时器的驱动程序,以生成稳定的输入事件流。

如果GetLastInputInfo()更新未报告Raw活动,则正在运行的应用最有可能使用输入注入API,如mouse_event()keybd_event()SendInput()。你必须直接挂钩才能找出哪个应用程序正在调用它们。