ShellExecuteEx を使用してクラッシュする別のプログラム (「B」) を呼び出すプログラム (「A」) に取り組んでいます。プログラム A は B のクラッシュを検出でき、TerminateProcess を使用して B を強制終了できます。
ただし、B がクラッシュすると (および A が終了する前に)、Windows の「プログラム B が動作を停止しました」というダイアログ (WerFault.exe) が表示されます。したがって、A は B を強制終了できますが、B が失敗するたびに WerFault.exe のインスタンスが残ります。
WER API を使用して WerAddExcludedApplication を呼び出し、B を除外リストに追加することで、多少の喜びが得られるのではないかと考えました。ただし、「動作が停止しました」ダイアログを変更して、「閉じる」と「デバッグ」のみを提供し、「オンラインで解決策を確認する」を省略するだけです。
WerFault.exe を呼び出さずに B をクラッシュさせる方法はありますか? (Windows 7)。
このスレッドを見ました: WER ダイアログを取得せずに Windows-7 でプロセスをクラッシュさせるには? . ただし、その意図は、WER を無効化または却下する方法ではなく、WER が常に呼び出されるようにすることでした。
提案?