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;
完全なコードは次の場所で見ることができます