[VB.NET]プロセスの起動を行わずに終了を待機だけをするには?

起動したプロセスの終了を待機する方法はたくさん出てくるのですが、現在実行中の特定プロセスの終了を待機するにはどうすれば良いでしょうか。
まとめると、実行中プロセス内のSample.exeの終了を待機して、終了が確認されたら、MessageBox.Show("終了")の処理を行いたいです。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/12/22 21:18:23
  • 終了:2011/12/22 23:17:08

ベストアンサー

id:cx20 No.1

cx20回答回数603ベストアンサー獲得回数1072011/12/22 22:28:16

実行中のプロセスは Process.GetProcessesByName() で取得可能です。

■ Process.GetProcessesByName メソッド (String) (System.Diagnostics)
http://msdn.microsoft.com/ja-jp/library/z3w4xdc9(VS.80).aspx


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    ' プロセス名を指定して、プロセスの配列を取得(拡張子 .exe は不要)
    Dim ps As Process() = Process.GetProcessesByName("Sample")

    Dim p
    For Each p In ps
        ' プロセスが終了するまで待機する
        p.WaitForExit()


        ' プロセスが終了した旨を表示する
        MessageBox.Show("終了")
    Next

End Sub
id:hokuto0127

有難うございます。いただいたサンプルコードで実装できました。

2011/12/22 23:20:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません