系统空闲检测

11

我希望能够检测系统是否空闲,即:用户没有使用系统。就像Windows Live Messenger一样,当我离开电脑3分钟时,它会自动变成离开状态,我想在代码中设置这个时间。

我正在使用C#环境下的WPF,在Visual Studio 2008和2010中都使用,如果有一种方法可以在两种环境中都适用,那就太好了。


重要的事情是添加...我正在使用topmost="true"全屏工作。 - sikas
3个回答

9

这里有一篇 CodeProject 上的文章,可以帮助你开始入门:获取空闲时间


1

我提供了一个关于在WPF中检测不活动和活动的答案,这可能对你有所帮助:


0

Windows提供了一些API,虽然它们对于多个会话或类似的东西并不可靠。
我使用的是一个钩子来WW_MOUSE_LLSetWindowsHookEx();。这是用C语言实现的,对于C#应该非常相似。
基本上,每当用户使用鼠标时,计时器就会从0开始计时,如果计时器达到某个值,您可以在此之上执行某些操作(例如,如果系统处于空闲状态,则执行某些操作)。
您还可以使用键盘钩子,在用户只是输入时共享两个线程之间的计时器。这对我非常有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接