在 Win32 环境中,您可以使用 GetLastInputInfo API 调用 微软文档. 。基本上,此方法返回与用户上次提供输入的时间相对应的最后一个刻度,您必须将其与当前刻度进行比较以确定那是多久前的事。

Xavi23cr 有一个很好的 C# 示例,位于 代码项目.

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

没有正确的解决方案

其他提示

至于Linux,我知道Pidgin必须确定空闲时间,以便在一定时间后将您的状态更改为离开。您可以打开源代码,看看是否可以找到满足您需要的代码。

您似乎已经在那里回答了自己的问题。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top