vb.net只开一个例程,VBNET的编程机制

vb.net如何实现:只开启一个exe实例打开多个txt文件?

试试看这样行不:在应用程序设置中,勾选“生成单个实例应用程序”,然后在应用程序事件中处理这个事件

为杭锦等地区用户提供了全套网页设计制作服务,及杭锦网站建设行业解决方案。主营业务为网站建设、成都做网站、杭锦网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Private Sub MyApplication_StartupNextInstance(sender As Object, e As StartupNextInstanceEventArgs) Handles Me.StartupNextInstance

'这里的 e.CommandLine应该就是双击第二个文件时传进来的命令行

End Sub

VB.net生成单个实例应用程序

就是只允许启动单一个应用程序的实例, 试图启动第二次时不会产生新的实例,并激活已经启动的实例.

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如何使程序只运行一个实例

设置程序启动项为sub main函数,建一个模块,里面写好main函数,如下:

Sub Main()

If App.PrevInstance = True Then

Call MsgBox("程序已经在运行", vbCritical)

End

End If

end sub

或者更简单点,在你启动时调用的窗体的form_load事件里最前面,加上If App.PrevInstance = True Then END就行


本文名称:vb.net只开一个例程,VBNET的编程机制
本文路径:http://bzwzjz.com/article/hedcpj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 移动网站建设 成都网站设计 成都网站建设 成都网站建设 成都网站建设公司 定制网站建设 成都品牌网站设计 成都网站建设 成都品牌网站建设 营销型网站建设 定制级高端网站建设 做网站设计 成都网站设计 企业网站建设 定制网站制作 网站制作公司 定制网站设计 移动手机网站制作 企业网站设计 响应式网站建设 成都商城网站制作 重庆网站建设