vb.net只运行一个 vb可以直接运行吗

怎样让VB.NET做的应用程序只启动一个实例

最简单的方法

成都创新互联是一家专注于网站建设、成都网站制作与策划设计,襄城网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:襄城等地区。襄城做网站价格咨询:18980820575

If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) 0 Then End

前提是你的程序名别太普通了容易和别的进程重名就不行了

VB.NET编的form程序,如何操作可以搞成只能运行一个实例,也就是像微信一样只能单开不能躲开?

在项目上右键,然后选择属性,打开如下图所示的项目属性对话框:

然后选择左边的“应用程序”标签页,再勾选上“生成单个实例应用程序”。

vb net只运行一个程序

方法一:通过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


网站名称:vb.net只运行一个 vb可以直接运行吗
分享URL:http://cdiso.cn/article/dosojcs.html

其他资讯