Windows 喚醒計時器在 Modern Standby 中無法運作
如果應用程式在電腦開啟時能執行排程工作,卻在 Modern Standby 期間錯過工作,請先檢查睡眠狀態及該應用程式的喚醒計時器。
Modern Wakeup 是適用於現有可喚醒計時器的 Windows 驅動程式及設定工具。它以核心計時器對應允許的應用程式計時器,並在觸發時要求互動式恢復。它不會建立應用程式的工作排程,也不會修改應用程式。
螢幕截圖顯示英文介面;名稱可能因 Windows 和應用程式的語言而異。
1. 檢查電腦是否使用 Modern Standby
以管理員身分開啟終端機或命令提示字元,然後執行:
powercfg /a
在可用狀態中尋找 Standby (S0 Low Power Idle);名稱可能已翻譯。Windows 亦可能顯示網絡是否保持連線。Modern Wakeup 處理的是 S0 Modern Standby 期間的應用程式計時器。
若電腦使用 S3 睡眠,或工作在休眠或關機後未能執行,本指南不能證明 Modern Wakeup 會有幫助。請檢查應用程式的排程選項及該狀態的電源設定。
2. 檢查應用程式是否要求喚醒
如應用程式設有喚醒電腦選項,請啟用並安排稍後的工作。在應用程式或其服務運作期間,以管理員身分執行:
powercfg /waketimers
指令會列出 Windows 回報的有效喚醒計時器。尋找屬於該應用程式或服務的計時器。有些應用程式只在工作開始前不久建立計時器;清單為空值得調查,但不能單憑此判定故障。
Modern Wakeup 需要現有且允許喚醒的計時器。若應用程式未要求計時器,它無法代為安排工作。
傳統喚醒計時器與在 Modern Standby 期間執行桌面應用程式的權限並不相同。存在計時器不保證工作會執行。Modern Wakeup 要求互動式恢復,讓應用程式重新活躍。
Microsoft 在 powercfg 參考文件說明指令,在 SetWaitableTimerEx 參考文件說明 API。
3. 安裝並測試 Modern Wakeup
- 下載 Windows x64 版 Modern Wakeup、執行程式並批准管理員提示。
- 選擇安裝驅動程式。7 天試用期會在首次安裝驅動程式時開始。
- 在允許的喚醒計時器中加入擁有計時器的應用程式或服務之 .exe 名稱,每行一個名稱或萬用字元模式,然後選擇儲存允許清單。計時器要求者的名稱可能與應用程式啟動程式不同。
- 開啟疑難排解。內建測試需要允許目前使用的 Modern Wakeup 執行檔,例如
ModernWakeup-1.0.0-win-x64.exe。預設規則modernwakeup*.exe已涵蓋該檔案。 - 選擇幾分鐘後的日期和時間,再選擇設定喚醒。請保持應用程式開啟,因為測試計時器由它擁有。
- 選擇重新整理狀態,檢查已對應計時器的要求者及到期時間。只會對應最早的允許計時器,因此另一個應用程式可能先出現。
- 透過 Windows 電源選單讓電腦進入睡眠。喚醒後檢查診斷訊息,以及測試計時器有否觸發。請留意下方的時間限制。
內建測試成功後,請再測試應用程式本身的排程工作。確認工作確實完成;單憑螢幕亮起並不足夠。
測試後可關閉甚至刪除設定應用程式 ModernWakeup-1.0.0-win-x64.exe。只須讓 Modern Wakeup 驅動程式在裝置管理員保持已安裝及運作。
電腦仍未喚醒時
- 確認設定應用程式顯示驅動程式已安裝且正在運作。
- 確認試用期尚未結束,或已有有效授權。
- 確認允許清單符合計時器要求者,英文字母不分大小寫。若清單為空或沒有相符規則,計時器不會被對應。
- 變更排程後選擇重新整理狀態。驅動程式在螢幕關閉或查詢計時器狀態時掃描。上次掃描後建立的計時器要等下次掃描才會得知。
- 檢查選取的到期時間。只會對應最早、尚未到期的允許計時器。
- 開啟事件檢視器,選擇 Windows 記錄 > 系統,然後搜尋或篩選來源 ModernWakeup。
你亦可在應用程式的疑難排解分頁查看驅動程式訊息。
相容性及限制
哪些應用程式可使用?
透過 SetWaitableTimer 或 SetWaitableTimerEx 等 Windows API 建立現有可喚醒計時器的應用程式。相容性取決於排程方式及電腦電源行為。購買前請先試用。
下載適用於甚麼平台?
已在使用 S0 Modern Standby 的 Windows 10 及 11 x64 電腦測試。目前只提供 x64 驅動程式,不包括 ARM64 或 32 位元版本。安裝及設定需要管理員權限。
會停用 Modern Standby 或恢復 S3 嗎?
不會。它使用電腦現有的睡眠設定,不會改變韌體支援的狀態,也不會啟用 S3。
螢幕會亮起嗎?
驅動程式要求互動式恢復,包括螢幕活動和使用者在場。螢幕可能亮起,之後 Windows 可按一般電源政策關閉。
電腦會準時喚醒嗎?
時間取決於 Windows、韌體、硬件及 Modern Standby。延遲一至兩分鐘屬正常,通常較短。請在自己的電腦測試。
電池及外接電源下表現一樣嗎?
不要假設一樣。請在計劃使用的電源條件下測試,因為 Windows 電源政策會影響喚醒。
試用期結束後會怎樣?
試用期由首次安裝起計 7 天。沒有有效授權時,在到期時或之後應觸發的計時器不會被對應。應用程式會顯示狀態並接受授權金鑰。
移除驅動程式
開啟 Modern Wakeup 並選擇解除安裝驅動程式…。應用程式會停止驅動程式、從 Windows 驅動程式存放區移除套件,並嘗試刪除現用設定資料夾。若要保留允許清單,請先複製 C:\ProgramData\ModernWakeup\ModernWakeup-Allowed-Timers.txt。
亦可在裝置管理員 > 系統裝置中,於 Modern Wakeup 按滑鼠右鍵並選擇解除安裝裝置。
或使用命令提示字元:
- 執行
pnputil /enum-drivers,找出原始名稱為modernwakeup.driver.inf的項目,並記下其發佈名稱,例如oem42.inf。 sc.exe stop ModernWakeuppnputil /delete-driver oem42.inf /uninstall