web-dev-qa-db-ja.com

新しいプロセスを開始して、完了するまで待つにはどうすればよいですか?

C#でプログラムを開始したい(Process.Start()を使用できます)。次に、私のプログラムは、開始されたプログラムが閉じられるまで待ってから続行する必要があります。
これを行うにはどうすればよいですか?

13
Paedow

Start()を呼び出した後、次を追加します: Process.WaitForExit()

 var myProcess = new Process {StartInfo = new ProcessStartInfo(processPath)};
 myProcess.Start().WaitForExit();
28
Cédric Bignon

2つのメカニズムがあります。 Process.Exitedイベントをフックするか、Process.WaitForExit()を呼び出すことをお勧めします。

http://msdn.Microsoft.com/en-us/library/system.diagnostics.process.exited.aspx

http://msdn.Microsoft.com/en-us/library/system.diagnostics.process.waitforexit.aspx