C# では、次のコマンドでプロセスを開始できます
process.start(プログラム.exe);
プログラムがまだ実行中かどうか、または終了したかどうかを確認するにはどうすればよいですか?
MSDN System.Diagnostics.Process
今すぐ知りたい方はHasExited
物件をチェックしてみてください。
var isRunning = !process.HasExited;
お急ぎの場合はそのままお待ちください。
process.WaitForExit();
バックグラウンドで起動している場合は、EnableRaisingEvents を true に設定した後、Exited イベントをサブスクライブします。
process.EnableRaisingEvents = true;
process.Exited += (sender, e) => { /* do whatever */ };
Process p = new Process();
p.Exited += new EventHandler(p_Exited);
p.StartInfo.FileName = @"path to file";
p.EnableRaisingEvents = true;
p.Start();
void p_Exited(object sender, EventArgs e)
{
MessageBox.Show("Process exited");
}
Process
静的Process.Start()
呼び出しを使用する (または でインスタンスを作成する) 場合は、オブジェクトを保存してから、必要に応じてプロパティをnew
確認するかHasExited
、イベントをサブスクライブしてください。Exited
イベント ハンドラーをExitedイベントに割り当てます。
その MSDN リンクにサンプル コードがあります。ここでは繰り返しません。
Process クラスの MSDN ドキュメントを参照してください。
特に、リッスンできるイベント ( Exited ) があります。