C#他のプログラムを起動して終了するまで待つ

スポンサーリンク

System.Diagnostics.Process クラスで起動したプログラムを、終了するまで待機させるには、そのプロセスのインスタンスで、WaitForExit メソッドを使用します。WaitForExit メソッドを実行して制御が返るまでは、呼び出し側のプログラムの描画はされませんので、呼び出し側にフォームがある場合は、非表示などにしておき、呼び出された側が終了したら、フォームを再表示などすると良いでしょう。

サンプルコード

以下にサンプルコードを示します。

C# 全般
    // メモ帳を起動して、Process のインスタンスを取得する
    System.Diagnostics.Process hProcess = System.Diagnostics.Process.Start("Notepad");

    // 終了するまで待機する
    hProcess.WaitForExit();

    // 終了した旨を表示する
    MessageBox.Show("メモ帳が終了しました");

    // 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
    hProcess.Close();
    hProcess.Dispose();

関連するリファレンス

準備中です。

スポンサーリンク