起動したプロセスの終了を検出する方法(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 Object, ByVal e As System.EventArgs) ''プロセスが終了したときに発生するイベント MessageBox.Show("メモ帳が閉じられました。") End Sub |
|
Process クラス のメンバーには、この他 かなりの プロパティ や メソッド
等があります。 詳しくは、ヘルプで Process クラス のメンバーを見て下さい。 |