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

スポンサーリンク

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

サンプルコード

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

VB.NET 全般
    ' メモ帳を起動して、Process のインスタンスを取得する
    Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start("Notepad")

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

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

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

関連するリファレンス

準備中です。

スポンサーリンク