我想检测系统是否空闲,即:用户不使用系统.我希望它像Windows Live Messenger一样,当我离开计算机3分钟时自动更改,我想在代码中设置这个时间.
我正在使用visual studio 2008和2010在C#环境下开发WPF,所以如果这两种方法都很好的话.
我们使用GetLastInputInfo并计算与 GetTickCount64 结果的差异来确定空闲情况。然而,GetLastInputInfo返回的tick计数被写入LASTINPUTINFO的成员dwTime中,它是一个DWORD,因此是一个无符号32位整数,最大值为4294967295,相当于~49天。在正常运行时间比这更长的机器上,这当然会导致函数报告不正确的值。
显然没有名为 GetLastInputInfo64 的函数,但也许有一个不同名称的函数?