我撰寫了一個小程式,即使無法更改電池設定,也可以讓我的計算機保持清醒:https ://github.com/xlaech/Anti-Lock-5000 。我當前的設定使用點擊來重置空閑計時器。
我在問自己:由于有一個結構可以節省空閑時間(https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-lastinputinfo)有沒有辦法覆寫這個值,讓計算機在沒有用戶可見的任何操作的情況下進入睡眠狀態?
雖然python中的解決方案不是必需的——它需要是一個可移植的解決方案(例如,沒有庫,沒有下載)。
uj5u.com熱心網友回復:
使用SetThreadExecutionState(如@IInspectable 所述):
import time
from ctypes import windll
ES_CONTINUOUS = 0x80000000 # Causes the set state to remain
ES_DISPLAY_REQUIRED = 0x00000002 # Forces the display to be on
flags = ES_CONTINUOUS | ES_DISPLAY_REQUIRED
windll.kernel32.SetThreadExecutionState(flags)
while True:
time.sleep(36000) # Keep process alive, but sleep to prevent system load
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/428306.html
上一篇:為什么許多Win32Struc包含它們的大小作為成員
下一篇:在WindowsC 中模擬選擇
