我们如何知道用户最后一次按下键(或者移动鼠标)的时间?
时间:2020-03-05 18:37:49 来源:igfitidea点击:
在Win32环境中,可以使用GetLastInputInfo API调用,请参见msdn doc。基本上,此方法返回与用户上次提供输入时间相对应的最后一个滴答,我们必须将其与当前滴答进行比较以确定该记录是多久之前的。
Xavi23cr为Cat代码项目提供了一个很好的例子。
对其他环境有什么建议吗?
解决方案
回答
对于Linux,我知道Pidgin必须确定空闲时间,以便在一定时间后将状态更改为"离开"。我们可以打开源代码,看看是否可以找到执行所需功能的代码。
回答
内森,我们似乎已经回答了自己的问题;-)
" GetLastInputInfo"是必经之路。
一种技巧是,如果应用程序在桌面上运行,并且用户连接到虚拟机,则GetLastInputInfo将不报告任何活动(因为主机上没有活动)。
这可能与我们想要的行为不同,具体取决于我们希望如何应用用户输入。