我想使vb.net程序只执行一个实例,该怎么做?请各位大侠给点代码,谢谢!!

zdq801104 2007-01-31 04:16:56
RT,注:是winform程序。
...全文
266 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JerryLZQ 2007-02-14
  • 打赏
  • 举报
回复
YiZhiNet(九斤半) 回帖只用照抄? -_-
九斤半 2007-02-01
  • 打赏
  • 举报
回复
If (UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0) Then
application.exit()
end if
JerryLZQ 2007-01-31
  • 打赏
  • 举报
回复
If (UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0) Then
application.exit()
end if
feiyun0112 2007-01-31
  • 打赏
  • 举报
回复
imports System.Threading


Dim bCreatedNew As Boolean
Dim m As Mutex


m =new Mutex( false, "myUniqueName", Byref bCreatedNew )

If not (bCreatedNew) Then
application.Exit()
End If
zdq801104 2007-01-31
  • 打赏
  • 举报
回复
我刚学vb.net,不知道怎么转换上面的C#代码,还请大侠们帮忙转换一下,谢谢!
cghhhh 2007-01-31
  • 打赏
  • 举报
回复
执行执行完一个实例后把后面的对象全部设置为nothing
feiyun0112 2007-01-31
  • 打赏
  • 举报
回复
使用Mutex来进行

1. 首先要添加如下的namespace:

using System.Threading;



2. 修改系统Main函数,大致如下:

bool bCreatedNew;



//Create a new mutex using specific mutex name

Mutex m =new Mutex( false, "myUniqueName", out bCreatedNew );

if( bCreatedNew )

Application.Run(new yourFormName());



如上面编码就可以了,要注意的一点是,在给Mutex起名字的时候,不要太简单,以防止和其他程序的Mutex重复,从而达不到所预想的效果。


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070130

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧