.NETアプリケーションでプロセスを実行しています。プログラムでWindowsエラー報告(AppCrash)ダイアログを無効にする
Process process = new Process();
....
process.StartInfo.UseShellExecute = false;
process.StartInfo.ErrorDialog = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
....
process.Start();
問題がOKである、実行ファイルが時々クラッシュするということですが、APPCRASHのdialgがポップアップし、私は近くをクリックするまで実行を継続するためにアプリを防ぎます。
私がtrueに無効HKLM\Software\Microsoft\Windows\Windows Error Reporting\
値に設定できることを知っている - msdn.microsoft.com/en-us/library/bb513638%28v=vs.85%29.aspx
をしかし、その方法があります私はコードでこれを行うことができますか?
EDIT:
KMPは偉大な答えを掲載しているが、私はまだネイティブアプリケーションと同じことを達成するための方法を探しています。
ありがとうございますが、クラッシュするプロセスを変更することはできません。実行可能ファイルはネイティブコードです。アプリケーションはgswin64c.exeがこのアーカイブにあります:http://downloads.ghostscript.com/public/gs906w64.exe – user1615362
だから、どのように私はこれをネイティブアプリケーションに挿入できますか? – user1615362
素晴らしい作品です。おそらく、管理アプリケーションを扱うときに注射は必要ありません。これらのフラグを設定し、実際のアプリケーションアセンブリ(新しいプロセスではない)をロードし、リフレクションを使用してProgram.Main()を実行するラッパーアプリケーションを作成できますが、それは単なるアイデアです。 – Ondra