C++阻止windows睡眠

win8有个已知的毛病,即使你设定电脑不睡眠,过几分钟照样睡眠,不知道为啥微软一点都不着急解决,最近发生在了win8 pro上。

有个间接的解决方案,自己开个程序,这个程序告知windows不要睡眠。大概的方法就是写个定时器,每过一段时间出发一次下面的函数:

SetThreadExecutionState(ES_CONTINUOUS|ES_DISPLAY_REQUIRED)

这样会保持不睡眠并且屏幕点亮

SetThreadExecutionState(ES_CONTINUOUS|ES_SYSTEM_REQUIRED)

这个会保持不睡眠,屏幕不管

 

编译好的程序:https://files.cnblogs.com/zhangzheng/nosleep1.rar

打开之后自动后台,你的机器不会睡眠也不会关闭屏幕,就算手动睡眠或者休眠,再打开后也依旧有效,手动结束进程就退出了。

需要VC++ 2012运行库的支持。

posted @ 2013-08-24 13:31  张拯  阅读(1196)  评论(0编辑  收藏  举报