C#如何判断系统是否处于睡眠状态?

用C#写了个windows服务,只要系统正常运行就执行主体代码。希望可以判断系统是否处于睡眠状态,如果是睡眠状态就不执行主体代码了,节约资源。如何判断呢?

2个回答

楼主的意思不是系统休眠。而是电脑现在没有人操作吗?那么你可以判断键盘和鼠标是否在操作来判断,希望你可以解决这个问题。

或者做一个标记为,如果相关操作在一个应用程序内部,那么设置一个全局变量,一般静态Static的变量即可。如果是不同应用程序之间,那么只能通过访问DB数据库或者记录到本地临时文件中存储,其他应用程序才能读取到这个变量了。

这样你的问题就可以解决了。

mirage1982
mirage1982 回复qq_37444095: 那不是比我说的那种情况还要简单了。都不要判断鼠标键盘,也不要指定是那个Application程序在一段时间内没有操作。只要点击你右下角菜单进行休眠的时候,程序内部设置一个标记就可以了么?
8 个月之前 回复
qq_37444095
qq_37444095 谢谢你的回答。我的意思是比如手动点左下角,然后点睡眠,不是指没人操作。
8 个月之前 回复

睡眠状态下cpu得不到执行,任何程序都不能被执行,你既然程序代码在判断,就肯定不是休眠,所以无法判断。

qq_37444095
qq_37444095 我测试的结果是睡眠状态下,服务一直在往日志文件里写日志,说明CPU还在运行。
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问