0

何もしないが、要求されたときに簡単に終了しない単純なプログラムを書きたいです。「このプログラムは応答していません。処理が終了するまで待ちますか、それとも今すぐ終了しますか?」という Windows のダイアログ ボックスが表示されます。ユーザーが「今すぐ終了」を選択した後は、もちろん終了する必要があります。

これが欲しい理由は、テスト環境のためです。ユーザーがログアウトしようとしているシナリオをテストしたいのですが、プログラムが応答しないため、システムはすぐにログアウトしません。

Sleep() を呼び出して WM_DESTROY に応答しようとしましたが、うまくいかないようです。タスク マネージャーから強制終了すると、プログラムはすぐに終了します。繰り返しますが、私は真に「殺せない」ものを書こうとしているのではなく、ユーザーがプログラムの終了を待つかどうかを尋ねるダイアログ ボックスを表示する単純なプログラムにすぎません。

助けてくれてありがとう。

4

1 に答える 1

0

メイン メッセージ ループを変更してみることができます。NO_REMOVE で PeekMessage(...) を使用し、WM_QUIT メッセージを無視する

編集: 処理する前にすべてのメッセージ (WM_QUIT を除く) を削除します(GetMessage( &msg ,msg.hWnd ,msg.message ,msg.message ))

于 2010-12-02T14:44:53.227 に答える