VB.NET二重起動を禁止する

Visual Studio 2005以降の、アプリケーションの二重起動を禁止する

1.メニューの「プロジェクト」-「プロパティ」により、プロジェクトのプロパティを表示します。

2.「アプリケーション」を選択します。

3.「アプリケーションフレームワークを有効にする」を有効にします。(通常チェックされている)

4.「Windowsアプリケーションフレームワークプロパティ」の「単一インスタンスのアプリケーションを作成する」にチェックを入れ有効にします。

以上で二重起動が禁止されます。

動作としては既に起動されているアプリケーションがあるならアクティブにします。

 

VB.NETプロセスを取得する

プロセスの取得方法を説明します。

System.Diagnostics.Processクラスを使用します。

自分自身のプロセスを取得する

実行中の全てのプロセスを取得する

コンピュータ名を指定することで、別のコンピュータのプロセスが取得可能になります。
hPros = System.Diagnostics.Process.GetProcesses(“xxxxxxxxxx”)

指定した名前に合致するプロセスを全て取得する

System.Diagnostics.ProcessクラスのGetProcessesByNameメソッドを使用します。

指定したIDに合致するプロセスを取得する

System.Diagnostics.ProcessクラスのGetProcessByIdメソッドを使用します。

 

 

VB.NET起動した外部アプリケーションの終了判断する

アプリケーションが終了したかどうかを判断する

System.Diagnostics.Processクラスで起動したプログラムを、呼び出し側で終了したか確認する方法を説明します。
プロセスのインスタンスの、HasExitedプロパティを使用します。
HasExitedプロパティは、プログラムが終了している場合はTrueです。

HasExitedプロパティによる判断

 

アプリケーションが終了したことをイベントで通知する

System.Diagnostics.Processクラスで起動したプログラムを、呼び出し側で終了をイベントで確認する方法を説明します。
プロセスのインスタンスの、EnableRaisingEventsプロパティを使用します。
EnableRaisingEventsプロパティを Trueにし追加したイベントを呼び出します。

イベントハンドラによる終了判断