WM_POWERBROADCAST訊息
通知應用程式電源管理事件已發生。
視窗會透過其 WindowProc 函式接收此訊息。
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_POWERBROADCAST
WPARAM wParam, // power-management event
LPARAM lParam // function-specific data
);
參數
-
hwnd
-
視窗的控制碼。
- *uMsg*
-
值 意義 - WM_POWERBROADCAST
- 536 (0x218)
訊息識別碼。 -
wParam
-
電源管理事件。 此參數可以是下列其中一個事件識別碼。
事件 意義 - PBT_APMPOWERSTATUSCHANGE
- 10 (0xA)
電源狀態已變更。 - PBT_APMRESUMEAUTOMATIC
- 18 (0x12)
作業會從低電源狀態自動繼續。 每次系統繼續時都會傳送此訊息。 - PBT_APMRESUMESUSPEND
- 7 (0x7)
作業會從低電源狀態繼續執行。 如果使用者輸入觸發繼續,PBT_APMRESUMEAUTOMATIC之後傳送此訊息,例如按下按鍵。 - PBT_APMSUSPEND
- 4 (0x4)
系統正在暫停作業。 - PBT_POWERSETTINGCHANGE
- 32787 (0x8013)
已收到電源設定變更事件。 -
lParam
-
事件特定資料。 對於大部分的事件,此參數是保留的,不會使用。
如果 wParam 參數 PBT_POWERSETTINGCHANGE, lParam 參數是 POWERBROADCAST_SETTING 結構的指標。
傳回值
如果應用程式處理此訊息,應用程式應該會傳回 TRUE 。
備註
每當系統繼續時,系統一律會傳送 PBT_APMRESUMEAUTOMATIC 訊息。 如果系統繼續回應使用者輸入,例如按下按鍵,系統也會在傳送PBT_APMRESUMEAUTOMATIC之後傳送 PBT_APMRESUMESUSPEND 訊息。
WM_POWERBROADCAST 訊息不會區分不同的低電源狀態。 應用程式只能判斷系統進入或已從低電源狀態繼續;它無法判斷特定的電源狀態。 系統會記錄Windows系統事件記錄檔中電源狀態轉換的詳細資料。
若要防止系統在 Windows Vista 中轉換為低電源狀態,應用程式必須呼叫SetThreadExecutionState,以通知系統正在使用中。
在 [需求] 區段中所指定的任何作業系統上,不支援下列訊息:
- PBT_APMQUERYSTANDBY
- PBT_APMQUERYSTANDBYFAILED
- PBT_APMSTANDBY
- PBT_APMRESUMESTANDBY
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
| 最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
| 標頭 |
|