ソフトウェアの問題を検出するのに役立つ例外ハンドラルーチンを作成しました。私が使う
SetUnhandledExceptionFilter();
キャッチされない例外をキャッチするために、そしてそれは非常にうまく機能します。
しかし、私のハンドラーは、クラッシュ時に何をしていたかを詳細に説明するようにユーザーに求めるダイアログをポップアップ表示します。ここで問題が発生します。ダイアログはクラッシュと同じスレッドコンテキストにあるため、ダイアログは引き続きアプリケーションのメッセージを送り出します。クラッシュの1つがWM_TIMERにあり、毎分オフになるため、これにより問題が発生します。ダイアログが1分以上画面に表示されている場合に想像できるように、WM_TIMERがディスパッチされ、アプリが再クラッシュします。この状況で例外ハンドラーに再度入るのは悪いニュースです。
Windowsにクラッシュを処理させると、Windowsは機能しているように見えるダイアログを表示しますが、アプリケーションの残りの部分に伝播するメッセージを停止するため、WM_TIMERは再発行されません。
誰かが私が同じ効果を達成する方法を知っていますか?
ありがとうリッチ