主题:防止同一个程序多次运行。 [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 获取当前运行程序的名称。
文章转自:http://www.aaiso.com/blog/more.asp?name=jpzlove&id=190
[em18][em18][em19][em16]
''*****************方法一:防止程序多次打开*****************
'' 函数名: 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 获取当前运行程序的名称。
文章转自:http://www.aaiso.com/blog/more.asp?name=jpzlove&id=190
[em18][em18][em19][em16]