Language agnostic 您如何判断用户上次按键(或移动鼠标)的时间?

Language agnostic 您如何判断用户上次按键(或移动鼠标)的时间?,language-agnostic,Language Agnostic,在Win32环境中,可以使用GetLastInputInfo API调用。基本上,此方法返回与用户上次提供输入时对应的最后一个勾号,您必须将其与当前勾号进行比较,以确定这是多久以前的 Xavi23cr为C#at提供了一个很好的例子 对其他环境有什么建议吗?对于Linux,我知道Pidgin必须确定空闲时间,以便在一定时间后将您的状态更改为离开。您可以打开源代码,看看是否可以找到满足您需要的代码。您似乎已经回答了自己的问题,Nathan;-) “GetLastInputInfo”是一个不错的选择

Win32环境中,可以使用GetLastInputInfo API调用。基本上,此方法返回与用户上次提供输入时对应的最后一个勾号,您必须将其与当前勾号进行比较,以确定这是多久以前的

Xavi23cr为C#at提供了一个很好的例子


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

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

您似乎已经回答了自己的问题,Nathan;-) “GetLastInputInfo”是一个不错的选择

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


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

他正在Windows以外的环境中寻找建议。有各种各样的可可解决方案。我已经删除了winapi标签,因为OP已经有了winapi的答案,并且说他们想要的不是winap。