2010-06-22 81 views
10

我想检测系统是否空闲,即:用户不使用系统。我希望它像Windows Live Messenger那样在我离开计算机一段时间后自动更改为3分钟,我想在代码中设置这段时间。系统空闲检测

我正在C#环境下使用Visual Studio 2008和2010在WPF上工作,所以如果这里有一种方法可以很好地工作。

+0

要添加的重要事项...我在全屏上使用topmost =“true” – sikas 2010-06-22 11:57:06

回答

0

Windows不会为提供了一些API的,人虽然他们不适合多次会议或类似的事情。
我使用的是WW_MOUSE_LLSetWindowsHookEx();的钩子。这在C中必须非常类似。
Basicaly每当用户使用鼠标执行某些操作时,计时器将再次从0开始计时,如果计时器达到某个值,则会根据该操作执行一些操作(如果系统处于空闲状态)。
你也可以用键盘挂住它,以防用户刚输入,并在两个线程之间共享定时器。它对我来说很棒。