VB 单实例运行

前端之家收集整理的这篇文章主要介绍了VB 单实例运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

VB6

在程序运行时用如下语句:

if app.PrevInstance=true then
end
end if

VB 2005:

1. 在VB2005中,打开"属性"页,启用"应用程序“框架,选中" 单实例应用程序"前面复选框,就行了。

(WinCE中没有该属性设置,只能通过Findwindow函数,察看是否已经有程序的实例在运行。或者用下面的MUTEX)

2. MUTEX. (一下代码为2008)

' 引用Mutex的类

  
@H_403_31@Imports System.Threading

  
@H_403_31@Private @H_403_31@Sub Form1_Load( @H_403_31@ByVal sender @H_403_31@As System.Object, @H_403_31@ByVal e @H_403_31@As System.EventArgs) @H_403_31@Handles @H_403_31@MyBase .Load

  
' 定义Mutex的类

  
@H_403_31@Dim objMutex @H_403_31@As Mutex

  
' 得到应用程序的名称

  
@H_403_31@Dim AppName @H_403_31@As @H_403_31@String = @H_403_31@Assembly .GetExecutingAssembly().GetName().Name

  
' 用这个应用程序的名字,去实例化这个Mutex

  objMutex
= @H_403_31@New Mutex( @H_403_31@False ,AppName)

  
' 判断是否有相同的应用程序在运行;

  
@H_403_31@If objMutex.WaitOne( 0 , @H_403_31@False ) = @H_403_31@False @H_403_31@Then

  objMutex.Close()

  objMutex
= @H_403_31@Nothing

  MessageBox.Show(
" 这个程序正在运行! " )

  Close()
' 关闭这个应用程序

  
@H_403_31@Exit Sub

  
@H_403_31@End @H_403_31@If

  
@H_403_31@End Sub

猜你在找的VB相关文章