アプリケーションが終了されたかどうかを調べる .NET では、プロセスクラスを使って、アプリケーションが終了されたかどうかを調べることが可能です。この機能を使えば、VB.NETアプリケーションから、他のアプリケーションへ制御を渡した後に、渡されたアプリケーションが閉じられたことを呼び出しもとのVB.NETアプリケーションが認知するといったことが実現します。つまり、異なるアプリケーション同士での連携の一要素として活用できるものです。フォームに次の様なコードを記述します-----------VB.NETコーディングここから-------------------1.フォームで右クリックして、「コードの表示」を 選び、コード編集画面にします。2.宣言部に、次のコードを記述します。 'イベントを発生させることが出来るオブジェクトを宣言する Dim WithEvents Proc As Process3.フォームデザインに編集画面を戻します。4.フォームに、プロセスコンポーネントを配置します。5.プロセスコンポーネントをダブルクリックして、 プロセスの終了イベントの編集を開始して、 次のコードを記述します。 Private Sub Process1_Exited(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Process1.Exited MessageBox.Show("インターネットエクスプローラを終了しました") End Sub6.フォームデザインに編集画面を戻します。7.フォームに、ボタンコントロールを配置します。 (デフォルトのオブジェクトの名前 Button1)8.ボタンコントロールの text プロパティに「IEブラウザ起動」と記述します。 ※説明用のためです。必須ではありません。9.ボタンコントロールをダブルクリックして、 ボタンのクリックイベントの編集を開始して、 次のコードを記述します。 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Proc = New Process() 'イベントの関連づけをしています。 AddHandler Proc.Exited, AddressOf Process1_Exited 'アプリケーションの終了を握るために有効にする Proc.EnableRaisingEvents = True '起動するアプリケーションを指定 Proc.StartInfo.FileName = _ "C:\Program Files\Internet Explorer\IEXPLORE.EXE" '.NETからのプロセスとして起動 Proc.Start() End Sub10.ビルドして実行します。11.フォームに表示された「IEブラウザ起動」を押すと、 インターネットエクスプローラが起動します。12.起動したインターネットエクスプローラを、 インターネットエクスプローラのクローズボックスで終了させます。13.メッセージボックスで、 「インターネットエクスプローラを終了しました」が表示されます。-----------VB.NETコーディングここまで-------------------この方法を利用することで、クラスが公開されていないアプリケーションの終了状態も簡単に握ることが可能です。VB6.0では、APIを駆使して行っていた作業も、.NETでは、非常に手軽で簡単に行えると思います。
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。