VB.NET プログラミング入門

重複起動を制御するには?


同じプログラムが幾つも起動する事を避けたい時の対処法。
※VB6ではApp.PrevInstanceなどを使用
(コーディング例)
'アプリケーションのインスタンスが生成されているか判定する
If App.PrevInstance =False Then
   ' 起動していない
'Else
   ' 既に起動中
EndIf
※VB2003ではGetProcessesByNameメソッドなどを使用
(コーディング例)
'重複起動をチェックする
If Diagnostics.Process.GetProcessesByName( _
   Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then
   ' 既に起動中
End If
VB2005以前では上記の方法で重複起動を防止していました。

VB2005以降では…

1)ソリューションエクスプローラでソリューションを選択する
2)右クリックで「プロパティ」を選択する
3)「アプリケーション」タグをクリックする
4)「単一インスタンスのアプリケーションを作成する」をチェックする
※たったこれだけで重複起動は防止できます