プロセスが終了するまでプロセスを見たいと思いますが、存在しないとメッセージを表示するにはどうしたらいいですか?プロセスが完了してからメッセージ(C#)を表示するまで待ちます
5
A
答えて
8
.NET Frameworkではこれをサポートしています。 Process.Start
methodを使用してプロセスを開始し、WaitForExit
methodを呼び出して、開始したプロセスが終了して終了するまでアプリケーションの実行をブロックします。
サンプルコード:
// Start the process.
Process proc = Process.Start("notepad.exe"); // TODO: NEVER hard-code strings!!!
// Wait for the process to end.
proc.WaitForExit();
// Show your message box.
MessageBox.Show("Process finished.");
関連知識ベース記事:How to wait for a shelled application to finish using Visual C#
+0
イベントハンドラの長所を過大評価することはできません.OnExitedは素晴らしいオプションです。 – Olipro
11
が作成/プロセスにアタッチした後のいずれかが終了するまでブロックするWaitForExit()
を使用する場合、またはOnExited
イベントを使用アプリケーションが終了するのを待っている間にアプリケーションがブロックされることは望ましくありません。
私は心からProcess
のドキュメントの見直しをお勧めします - 私は、これはあなたが何をしたいと思いright here
1
を:
System.Diagnostics.Process process=new System.Diagnostics.Process();
process.StartInfo.FileName = "process.exe";
process.Start();
process.WaitForExit();
//process ended
MessageBox.Show("Process terminated");
関連する問題
- 1. プロセスがPython WMIを使用して完了するまで待ちます
- 2. すべてのプロセスが終了するまで待ちます
- 3. すべてのサブプロセスが完了するまでプロセスを待機しますか?
- 4. 最後のデバッガコマンドが完了するまで待ちました
- 5. インストールが完了するまでmsiexecを待ちます。
- 6. jquery .htmlメソッドがレンダリングを完了するまで待ちます
- 7. Cmdプロセスが終了するまで待ちます-java
- 8. previosプロセスが終了するまで待ちます
- 9. powershellで前のコマンドが完了するまで待ちます
- 10. 完了ハンドラが完了するのを待ってから続行します
- 11. ClosedShapeストリームの完了を待ちます
- 12. nodejs - fs.statが完了するまで待ちます
- 13. CouchbaseLiteはプルレプリケーションが完了するまで待ちます
- 14. フラグメント - トランザクションのアニメーションが完了するまで待ちます
- 15. スレッド1のスレッドが完了するまで待ちます。
- 16. 複数のAsyncTaskが完了するまで待ちます
- 17. iOS - クエリが完了するまで待ちます
- 18. PowerShell [wmiclass] Win32_Process.Create()はバッチファイルが完了するまで待ちます
- 19. dataTaskWithRequestの呼び出しが完了するまでスウィフト待ち
- 20. スレッドプールでタスクが完了するのを待ちます
- 21. (fork/waitpid)子プロセスのリストを待ちますが、子プロセスが完了するたびに待ちを中断します。
- 22. iOSでスレッディングして関数の完了を待ちます
- 23. プロセスが終了するまで待ってから実行を続ける - C#
- 24. SKAction完了待ち
- 25. メインスレッドが他のすべてのQthreadが完了するまで待ちます。
- 26. C#でコマンドが完了するのを待っています
- 27. 機能が完了し、応答を返してからforloopを続けるまで待ちます
- 28. webViewDidFinishLoadが完了するまでの待ち合わせ方法
- 29. android sdkアニメーションが完了するのを待ちます
- 30. Boto3:S3ストリーミングアップロードが完了するのを待ちます
Process.Exitedイベントを使用します。 –