VB6
在程序运行时用如下语句:
if app.PrevInstance=true then
end
end if
VB 2005:
1. 在VB2005中,打开"属性"页,启用"应用程序“框架,选中" 单实例应用程序"前面复选框,就行了。
(WinCE中没有该属性设置,只能通过Findwindow函数,察看是否已经有程序的实例在运行。或者用下面的MUTEX)
2. MUTEX. (一下代码为2008)
' 引用Mutex的类
Imports System.Threading
Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load
' 定义Mutex的类
Dim objMutex As Mutex
' 得到应用程序的名称
Dim AppName As String = Assembly .GetExecutingAssembly().GetName().Name
' 用这个应用程序的名字,去实例化这个Mutex
objMutex = New Mutex( False ,AppName)
' 判断是否有相同的应用程序在运行;
If objMutex.WaitOne( 0 , False ) = False Then
objMutex.Close()
objMutex = Nothing
MessageBox.Show( " 这个程序正在运行! " )
Close() ' 关闭这个应用程序
Exit Sub
End If
End Sub