-PR-
解決済み

windows終了時のメッセージについて

  • すぐに回答を!
  • 質問No.95889
  • 閲覧数775
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 10% (4/39)

いつもお世話になります。

VC++6.0MFCダイアログベースでデスクトップアプリ
を作成しているものです。

アプリ終了でINIファイルにウィンドウ位置を記憶させ
次回起動時に終了位置に表示させているのですが、
アプリが立ち上がったまま、スタートメニューからウィンドウズ自体を
終了させた時、アプリにはどのようなメッセージが飛んできているのか
どなたか教えていただけないでしょうか?
よろしくお願い致します。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル5

ベストアンサー率 80% (4/5)

ユーザが Windowsの終了を選択したり、ExitWindows関数で終了された直後に、トップレベルウィンドウ(この場合ダイアログ)にWM_QUERYENDSESSION メッセージが来ます。
ダイアログでは CWnd::OnQueryEndSession ハンドラを定義してこのメッセージを処理します。

ハンドラには、Windowsを終了してもよければ TRUE を、終了を阻止する場合は FALSE を返すようにコードを書きます。

ダイアログがこのメッセージをハンドルしたら、次に WM_ENDSESSION メッセージが来ます。
ダイアログでは CWnd::OnEndSession ハンドラを定義してこのメッセージを処理します。
ハンドラの BOOL 引数 bEnding が TRUE なら、Windows は終了します。
FALSE なら、終了処理は中断されました。

INIファイルにデータを記録するなら、OnEndSession に TRUE がセットされた時に書き込みを行い、完了したらハンドラから return します。

この時、ウィンドウに WM_DESTROY が来ないかもしれません。
また、メッセージキューに WM_QUIT も来ないかもしれません。
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル8

ベストアンサー率 42% (16/38)

WM_QUIT だったと思います。
記憶なのでちょっと自信無し(^^;
実験して見て下さい。


このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ