WM_QUERYENDSESSION
読み:ダブリューエム-アンダースコア-クエリーエンドセッション
外語:WM_QUERYENDSESSION

 Windowsにおけるウィンドウ メッセージの一つ。Windowsの終了時に送信される。
目次

定義
 UINT型の定数であり、WinUser.hで、以下のように定義される。
#define WM_QUERYENDSESSION              0x0011

仕様

引数
  1. HWND ‐ ウィンドウハンドル
  2. UINT ‐ 0x0011 (WM_QUERYENDSESSION)
  3. WPARAM ‐ (将来のために予約)
  4. LPARAM ‐ ログオフオプション (0の場合はシャットダウンまたは再起動中)

返却値

特徴

動作
 ExitWindows()関数またはExitWindowsEx()関数は、実行中の全てのアプリケーションのメインウィンドウに対してWM_QUERYENDSESSIONメッセージを送信し、終了して良いかどうかを確認する。

使い方
 アプリケーションプログラム側では、Windowsを終了させても良い場合はTRUEを、終了させてはいけない場合はFALSEを返却する。
 最終的な結果は、WM_ENDSESSIONメッセージで通知される。

強制終了
 ExitWindowsEx()関数のパラメーターにEWX_FORCEが設定されている場合は、WM_QUERYENDSESSIONやWM_ENDSESSIONメッセージは通知されず強制終了となる。
 従って、WM_QUERYENDSESSIONイベントが来ることを期待して、ここで保存処理などを実施するとデータを失うことになるので、そのような処理にはしてはならない。

再検索