1

私のアプリケーションから、COM API を使用して別のアプリケーションを呼び出します。これにより、他のアプリケーションが独自のプロセスで起動し、いくつかのことを実行します。時々、これらのことがうまくいかず、アプリケーションが爆発します。COM から戻ってくるエラーをうまく処理します。しかし、他のアプリケーション プロセスがクラッシュすると、マシン上にダイアログがポップアップし、プロセスを強制終了するか、Microsoft にヘルプを送るかなどを尋ねられます。このサーバーは監視されません。そこには誰もいません。他のユーザーのアプリでこのダイアログが発生した場合、このダイアログを抑制するにはどうすればよいですか?

4

1 に答える 1

0

MSDNのデバッグ関数をご覧ください。私はこのアプローチをテストしていませんが、、、およびを使用することDebugActiveProcessWaitForDebugEvent、あなたが望むことを達成できるはずだと思います。アイデアは、デバッグイベントを待機し、それが必要な場合(この場合は未処理の例外(inはゼロ))でプロセスを終了し、それ以外の場合はで実行を続行することです。ContinueDebugEventFatalExitdwFirstChanceEXCEPTION_DEBUG_INFOFatalExitContinueDebugEvent

私が言ったように、それは単なるアイデアであり、私はそれをテストしていません。また、マシン全体のWindowsエラー報告ダイアログボックスを無効にしてもかまわない場合は、Olegのアドバイスははるかに簡単です。

于 2011-03-14T19:16:01.603 に答える