私のアプリケーションから、COM API を使用して別のアプリケーションを呼び出します。これにより、他のアプリケーションが独自のプロセスで起動し、いくつかのことを実行します。時々、これらのことがうまくいかず、アプリケーションが爆発します。COM から戻ってくるエラーをうまく処理します。しかし、他のアプリケーション プロセスがクラッシュすると、マシン上にダイアログがポップアップし、プロセスを強制終了するか、Microsoft にヘルプを送るかなどを尋ねられます。このサーバーは監視されません。そこには誰もいません。他のユーザーのアプリでこのダイアログが発生した場合、このダイアログを抑制するにはどうすればよいですか?
1 に答える
0
MSDNのデバッグ関数をご覧ください。私はこのアプローチをテストしていませんが、、、およびを使用することDebugActiveProcess
でWaitForDebugEvent
、あなたが望むことを達成できるはずだと思います。アイデアは、デバッグイベントを待機し、それが必要な場合(この場合は未処理の例外(inはゼロ))でプロセスを終了し、それ以外の場合はで実行を続行することです。ContinueDebugEvent
FatalExit
dwFirstChance
EXCEPTION_DEBUG_INFO
FatalExit
ContinueDebugEvent
私が言ったように、それは単なるアイデアであり、私はそれをテストしていません。また、マシン全体のWindowsエラー報告ダイアログボックスを無効にしてもかまわない場合は、Olegのアドバイスははるかに簡単です。
于 2011-03-14T19:16:01.603 に答える