Windows XP 預設關機流程包含等待服務停止、應用程式結束、寫入分頁檔、清除快取等步驟,耗時 10-30 秒。透過登錄檔調整關機超時參數、建立一鍵關機捷徑、優化服務啟動順序,可實現「體感一秒關機」。
路徑:HKCU\Control Panel\Desktop (使用者層級) 或 HKLM\SYSTEM\CurrentControlSet\Control (系統層級)
| 鍵值名稱 | 預設值 | 建議值 | 說明 |
|---|---|---|---|
| WaitToKillAppTimeout | 20000 (20秒) | 1000-2000 | 等待使用者程式回應關機訊號的時間 (毫秒) |
| HungAppTimeout | 5000 (5秒) | 1000-2000 | 判定程式無回應的時間 |
| AutoEndTasks | 0 | 1 | 自動強制結束無回應程式 (1=啟用) |
| WaitToKillServiceTimeout | 20000 (20秒) | 5000-10000 | 等待服務停止的時間 (系統層級: HKLM\SYSTEM\CurrentControlSet\Control) |
| ClearPageFileAtShutdown | 0 | 0 | 關機時清除分頁檔 (1=啟用,會大幅延長關機時間,建議保持 0) |
| PowerdownAfterShutdown | 1 | 1 | 關機後切斷電源 (ACPI 環境必須為 1) |
@echo off
:: 套用至目前使用者
reg add "HKCU\Control Panel\Desktop" /v WaitToKillAppTimeout /t REG_SZ /d 2000 /f
reg add "HKCU\Control Panel\Desktop" /v HungAppTimeout /t REG_SZ /d 1000 /f
reg add "HKCU\Control Panel\Desktop" /v AutoEndTasks /t REG_SZ /d 1 /f
:: 套用至系統 (需管理員權限)
reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v WaitToKillServiceTimeout /t REG_SZ /d 5000 /f
echo 設定完成,重新登入或重開機生效。
pause
shutdown.exe -s -t 0 -f-s 關機-t 0 延遲 0 秒-f 強制關閉應用程式@echo off
echo 正在清理臨時檔案...
del /q /f /s "%TEMP%\*" >nul 2>&1
del /q /f /s "C:\Windows\Temp\*" >nul 2>&1
echo 正在清理 Prefetch...
del /q "C:\Windows\Prefetch\*.pf" >nul 2>&1
echo 正在同步磁碟快取...
fsutil volume diskfree C: >nul
echo 觸發關機...
shutdown.exe -s -t 0 -f
WaitToKillServiceTimeout 設過低 (如 < 3000) 可能導致資料庫、防毒、備份服務資料損毀。生產環境建議保守設為 10000。ClearPageFileAtShutdown=1,會使關機時間增加數倍。使用秒錶測量:從點擊「開始 → 關機」/按下捷徑快速鍵 到螢幕熄黑/電源指示燈熄滅。典型配置 (SATA HDD/4GB RAM) 可從 18 秒降至 3-5 秒 (體感「一秒」)。
「一秒關機」的關鍵在於 縮短等待超時、啟用自動結束無回應程式、建立強制關機捷徑。參數調整需在「速度」與「資料安全」間取得平衡,建議個人使用者採用建議值,企業/伺服器環境保守設定並配合 UPS 使用。