我想检测系统是否空闲,即:用户不使用系统。我希望它像Windows Live Messenger一样,当我离开计算机3分钟时自动更改,我希望在代码中设置这个时间。
我正在使用visual studio 2008和2010在C#环境下使用WPF,所以如果这两种方法都有效,那就太棒了。
答案 0 :(得分:9)
有一个article on CodeProject可以让你入门。
答案 1 :(得分:3)
此链接似乎也为该任务提供了一个WinForms组件:
http://www.codeproject.com/KB/miscctrl/Application_Idle.aspx
答案 2 :(得分:1)
我已经为检测WPF中的不活动和活动提供了答案,这对您来说可能很有意思:
答案 3 :(得分:0)
Windows确实为此提供了一些API,尽管它们对于多个会话或类似的东西不可靠
我使用的是WW_MOUSE_LL
与SetWindowsHookEx();
的钩子。它在C中。对于C#必须非常相似。
Basicaly每当用户用鼠标做某事时,计时器再次从0开始,如果计时器达到某个值,你就可以做一些事情(act-if系统处于空闲状态)。
你也可以用键盘钩住它,以防用户只是打字,并在两者之间共享计时器线程。它对我来说很棒。