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

Value 意味
WM_POWERBROADCAST
536 (0x218)
メッセージの識別子。

wParam

電源管理イベント。 このパラメータには、次のいずれかのイベント識別子を指定できます。

Event 意味
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

要件

要件 Value
サポートされている最小のクライアント
Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー
Windows Server 2003 (デスクトップ アプリのみ)
ヘッダー
WinUser.h (Windows.h を含む)

関連項目