2011-07-17 4 views

答えて

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"); 
関連する問題