玄関へお回り下さい。
起動したプロセスの終了を検出する方法(2個)         (SNo.050)

1.Process コンポーネントを使用して起動したプロセスの終了を検出する
2.Process オブジェクトを使用して起動したプロセスの終了を検出する
使用コントロール Button1
その他条件 WindowsXP Visual Basic .NET 2003
ツールボックスの中のProcessコンポーネントをフォームに貼り付けておいて下さい
1.Process コンポーネントを使用して起動したプロセスの終了を検出する

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'Process コンポーネントを使用して起動したプロセスの終了を取得する
'ツールボックスのコンポーネントの中のProcessコンポーネントをフォームに貼付て下さい
    'Process.EnableRaisingEvents プロパティ
    'プロセスが終了した時に、Exited イベントを発生させるかどうかを取得又は設定します
    Process1.EnableRaisingEvents = True
    Process1.StartInfo.FileName = "notepad.exe"
    Process1.Start()    'メモ帳を起動
End Sub

Private Sub Process1_Exited(ByVal sender As System.Object, ByVal e As System.EventArgs)
    'プロセスが終了したときに発生するイベント
    MessageBox.Show("メモ帳が閉じられました。")
End Sub

使用コントロール Button2
その他条件 WindowsXP Visual Basic .NET 2003
 
2.Process オブジェクトを使用して起動したプロセスの終了を検出する

''宣言されるオブジェクト変数がイベントを発生させることのできる
'クラス インスタンスを参照することを示すキーワードです。
Private WithEvents p As Process
Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'Process オブジェクトを使用して起動したプロセスの終了を取得する
    p = New Process
    ''Process クラスで発生する Exited イベントを処理します。
    AddHandler p.Exited, AddressOf p_Exited
    'プロセスが終了したときに、 Exited イベントを発生させる
    p.EnableRaisingEvents = True
    p.SynchronizingObject = Me
    p.StartInfo.FileName = "notepad.exe"
    p.Start()
End Sub

Private Sub p_Exited(ByVal sender As ObjectByVal e As System.EventArgs)
    ''プロセスが終了したときに発生するイベント
    MessageBox.Show("メモ帳が閉じられました。")
End Sub
 
Process クラス のメンバーには、この他 かなりの プロパティ や メソッド 等があります。
詳しくは、ヘルプで Process クラス のメンバーを見て下さい。



2004/04/24
2005/09/23


VBレスキュー(花ちゃん)
VB.NET2003  VB2005