'*****************方法一:防止程序多次打开*****************
' 函数名: 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 获取当前运行程序的名称。
博客介绍了VB.NET中防止程序多次打开的两种方法。方法一是定义IsInstanceRunning函数,通过遍历同名进程判断工程是否已运行;方法二则是利用Process类获取当前程序名称,根据进程数量判断是否退出。
349

被折叠的 条评论
为什么被折叠?



