vb net只运行一个程序
vbnet只运行一个程序,当程序启动后则运行,程序没有关闭的情况下在启动程序则不能再运行,弹出对话框“程序以运行中”...
vb net只运行一个程序,当程序启动后则运行,程序没有关闭的情况下在启动程序则不能再运行,弹出对话框“程序以运行中”
展开
2个回答
推荐于2017-11-26
展开全部
方法一:通过Diagnostics.Process.GetProcessesByName函数来检测程序是否已经启动
Imports System.Windows.Forms
Module Module1
Sub Main()
'检测多重启动
If Diagnostics.Process.GetProcessesByName( _
Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then
MessageBox.Show("已经一个实例的本程序正在运行。")
Return
End If
Application.Run(New Form())
End Sub
End Module
不过这个方法有个缺点,如果用户改了下exe的名字就检测不到了,所以更好的方法如下
方法2:使用Mutex
Imports System.Windows.Forms
Module Module1
Sub Main()
Dim createdNew As Boolean
' 创建mutex
Dim mutex As System.Threading.Mutex = _
New System.Threading.Mutex(True, "YourAppName", createdNew)
If createdNew = False Then
MessageBox.Show("已经一个实例的本程序正在运行。")
Return
End If
Application.Run(New Form())
' 释放mutex
mutex.ReleaseMutex()
End Sub
End Module
Imports System.Windows.Forms
Module Module1
Sub Main()
'检测多重启动
If Diagnostics.Process.GetProcessesByName( _
Diagnostics.Process.GetCurrentProcess.ProcessName).Length > 1 Then
MessageBox.Show("已经一个实例的本程序正在运行。")
Return
End If
Application.Run(New Form())
End Sub
End Module
不过这个方法有个缺点,如果用户改了下exe的名字就检测不到了,所以更好的方法如下
方法2:使用Mutex
Imports System.Windows.Forms
Module Module1
Sub Main()
Dim createdNew As Boolean
' 创建mutex
Dim mutex As System.Threading.Mutex = _
New System.Threading.Mutex(True, "YourAppName", createdNew)
If createdNew = False Then
MessageBox.Show("已经一个实例的本程序正在运行。")
Return
End If
Application.Run(New Form())
' 释放mutex
mutex.ReleaseMutex()
End Sub
End Module
2013-08-04
展开全部
先引用System.Diagnostics;
foreach (Process pro in Process.GetProcesses())
{
if (pro.ProcessName.ToUpper() == "程序名.EXE")
{
MessageBox.Show("程序的实例已经在运行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
}改下语法即可,这是C#的代码
foreach (Process pro in Process.GetProcesses())
{
if (pro.ProcessName.ToUpper() == "程序名.EXE")
{
MessageBox.Show("程序的实例已经在运行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
}改下语法即可,这是C#的代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询