language agnostic -你怎么知道用户最后一次按键(或移动鼠标)是什么时候?

Translate

在Win32环境中,可以在以下位置使用GetLastInputInfo API调用:Microsoft文档。基本上,此方法返回与用户上次提供输入时间相对应的最后一个滴答,您必须将其与当前滴答进行比较以确定该记录是多久之前的。

Xavi23cr在以下地方为C#提供了一个很好的例子代码项目.

对其他环境有什么建议吗?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

对于Linux,我知道Pidgin必须确定空闲时间,以便在一定时间后将您的状态更改为“离开”。您可能会打开源代码,看看是否可以找到执行所需功能的代码。

来源
Translate

您似乎已经在Nathan那里回答了您自己的问题;-)“ GetLastInputInfo”是解决方法。

一种技巧是,如果您的应用程序在桌面上运行,并且用户连接到虚拟机,则GetLastInputInfo将不报告任何活动(因为主机上没有活动)。

这可能与您想要的行为不同,这取决于您希望如何应用用户输入。

来源