防止同一个程序多次运行。 [VB.NET]

防止同一个程序多次运行。

''''*****************方法一:防止程序多次打开*****************
'''' 函数名: IsInstanceRunning
'''' 功 能: 判断工程是否已运行
'''' 参 数: 无
'''' 返回值: True 已运行 False 未运行
''''*******************************************************
Public Function IsInstanceRunning() As Boolean
Dim current As Process = System.Diagnostics.Process.GetCurrentProcess()
Dim processes As Process() = System.Diagnostics.Process.GetProcessesByName(current.ProcessName)
''''Loop through the running processes in with the same name
Dim p As Process
For Each p In processes
''''Ignore the current process
If p.Id <> current.Id Then
''''Make sure that the process is running from the exe file.
If System.Reflection.Assembly.GetExecutingAssembly().Location.Replace("/", "/") = current.MainModule.FileName Then
''''Return the other process instance.
Return True
End If
End If
Next
''''No other instance was found, return null.
Return False
End Function ''''RunningInstance

''''*****************方法二:防止程序多次打开*****************
Imports System.Diagnostics
If UBound(Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName)) _
> 0 Then Eixt Sub
''''Process.GetCurrentProcess.ProcessName 获取当前运行程序的名称。