私はC#アプリケーションをVisual Studio 2015で実行しています。任意の実行可能ファイルを受け入れ、実行するコマンドプロンプトを開きます。これらの実行可能ファイルについては何も保証されていないため、実行に失敗し、「xxx.dllを見つけることができませんでした」などのシステムエラーが発生する可能性があります。特定の例については、hereを参照してください。これらのシステムエラー(ウィンドウのヘッダーに「XXXXX.exe - システムエラー」と表示されることがあります)は、子プロセスの終了をブロックし、親プロセスが子プロセスを待機しているため、親プロセスもブロックします。人間がそのボタンを押して、子プロセスを終了させ、親プロセスを続行できるようになるまでブロックします。私は人間の介入なしに、自動的にこれらのエラーが最初に現れないようにすることによって自動的に発生する必要があります。オンラインで見ると、regeditを使用してWindowsエラー報告を無効にすることができました。これは「XXXXX.exeが動作を停止しました」などのエラーは無視しますが、リンクされたシステムエラーなどのシステムエラーは無視されません。このようなエラーを無視するにはどうすればよいですか?Windows上の子プロセスからシステムエラーをブロックする方法
0
A
答えて
0
リンクされたエラーメッセージには、名前の代わりに関数が(プログラムがdllの異なるバージョンである場合によく発生する)IDでロードされたDLLインポートの失敗が示されます。私はこのメッセージが最初に現れないようにする方法を知らない。
しかし、子実行ファイルがまだ実行中(このダイアログボックスを表示)であるため、このウィンドウを見つけてコードから閉じることができます。
親プロセスが子プロセスIDを知っている必要があるので、これは非常に簡単です。そこからFindWindowEx
またはEnumWindows
を使用して適切なウィンドウクラス名を指定してダイアログハンドルを取得し、CloseWindow
を使用してそのハンドルを閉じることができます。
注:これらの機能を使用するには、P/Invokeを使用する必要があります。
もっとも洗練されたソリューションではないかもしれませんが、間違いなく機能します。
関連する問題
- 1. Windowsサービスから子プロセスを閉じる
- 2. Windows上のポートをブロックしているプロセスを見つける
- 3. Windows上で子プロセス例外をキャッチ
- 4. プロセスの子ウィンドウをブロックしますか?
- 5. 親プロセスから子プロセスを取得する方法
- 6. NodejsプロセスIDから子プロセスを取得する方法
- 7. fork()を使用して子プロセスから子プロセスを作成する方法は?
- 8. WINDOWSの子プロセスから親プロセスへのシグナルの送信
- 9. Windows 7サービスからセッション1のプロセスを開始する方法
- 10. 子要素からの親の属性をブロックする方法
- 11. Windows 2008 Server上のASPアプリケーションから電子メールを送信する方法
- 12. 子プロセスから親プロセスに値を書き込む方法は?
- 13. Windowsサービスからプロセスを開始する方法
- 14. WindowsアプリケーションからLinuxプロセスを起動する方法は?
- 15. Windows上の別のプロセスからウィンドウ上のマウスカーソルを変更する
- 16. Windowsプロセス記述子
- 17. 子プロセスから親プロセスに通知するための最良の方法
- 18. シェルスクリプトでフォークされた子プロセスからプロセスID(pid)を取得する方法
- 19. 子プロセスから親プロセスのアドレス空間にアクセスする方法は?
- 20. Windows上でソケットをブロックする
- 21. Windows上でrunhaskellプロセスを終了する
- 22. Windowsのコマンドラインから電子メールを送信する方法
- 23. 親プロセスの子プロセスのツリーを削除する方法
- 24. サーバ上のWindowsタスクスケジューラからC#コンソールアプリケーションを実行する方法
- 25. 子プロセスから親cmd.exeシェルに値を渡す方法は?
- 26. Linuxプロセスで親から子へデータを渡す方法
- 27. Windows上でipaファイル拡張子をイオン化する方法
- 28. ノードJSの子プロセス実行でWindowsでエラーをトリガーする方法
- 29. MathematicaからWindowsプロセスをシャットダウンする
- 30. FreeBSD上の異なるセッションで子プロセスを実行する方法