使用SetThreadExecutionState函数来告诉系统程序正在运行,需要保持系统活跃。
实现功能
防止屏幕自动关闭
防止系统进入睡眠模式
防止自动锁屏
工作原理
调用Windows API的SetThreadExecutionState函数,告诉系统应用程序正在运行,需要保持显示和系统活跃。
这个程序可以是一个控制台应用程序,它设置执行状态,然后等待用户输入退出。
当程序运行时,系统不会自动锁屏或进入睡眠状态。当用户按下任意键时,程序退出,并恢复原来的电源设置。
注意:这个程序只影响睡眠和锁屏的超时,不会影响屏幕保护程序,但通常屏幕保护程序也会在系统不活动时启动,而设置执行状态可以同时阻止屏幕保护程序。
我们使用以下标志:
ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED
这样设置后,系统会认为用户正在与程序交互,从而不会自动锁屏或进入睡眠。
这个程序需要一直运行才能有效。如果关闭程序,系统将恢复原来的行为。