2017-03-29 9 views
-1

プロセスとしてバックグラウンドでCMDを起動します。このプロセスで私は外部プログラムを開始します。外部プログラムが終了した場合、どうすればわかりますか?バックグラウンドでプロセスとしてCMDを実行し、外部プログラムを開始します。外部プログラムが終了したかどうかを知る方法

+0

他のプログラムを実行するバットファイルを実行していますか、C#アプリケーションから1つ以上のプログラムを実行していますか?あなたがしようとしていることを正確に示す簡単なコード例を提供しておけば助けになります。 –

+0

FileName = "cmd"、引数= "/ K set prompt = INPUT - $ G $ S" これはバックグラウンドでcmdを実行する方法です。次に、process.StandardInput.WriteLine();でプログラムを実行します。ここでは、実行されたプログラムが終了したかどうかを知る方法が必要です。 cmd.exeプロセスが実行されているため、process.Exitedは役に立ちません。 – Labo

答えて

0

バッチファイルで外部プログラムを実行する場合は、Process.Exitedイベントを使用できます。

process.Exited += Process_Exited; 

ない場合、あなたはそれが出たかを知るために、名前で外部プロセスを見つけることを試みること。

var processes = Process.GetProcessesByName(ExternalProcessName); 
bool exited = processes.Length < 1; 
関連する問題