2

WINAPI を使用して単純な Windows アプリケーションを作成し、その WinProc で WM_CLOSE を処理して、ウィンドウを閉じることを確認するかキャンセルするかをユーザーに確認するメッセージ ボックスを表示しました。

十字ボタンをクリックするだけでアプリケーションは正常に動作しますが、タスク マネージャーからアプリケーションを終了すると、モデル メッセージ ボックスと非モデル メッセージ ボックスで異なる動作が表示されます。

モデル メッセージ ボックスを使用すると、ユーザー確認のためにポップアップするメッセージ ボックスは 1 つだけですが、非モデル メッセージ ボックスを使用すると、2 つのメッセージ ボックスがポップアップします。

2 つのダイアログ ボックスが表示されるのはなぜですか????

これが私のコードです

case WM_CLOSE:
  if (MessageBox(NULL, "Do you want to quit","Exit",MB_OKCANCEL|MB_ICONQUESTION) == IDOK)
    PostQuitMessage (WM_QUIT);
  else
    ShowWindow (hWnd, SW_RESTORE);
  break;

完全なコードは次の場所で見ることができます

http://codepad.org/elkXnBM1

4

0 に答える 0