如何将控制转移到单个实例应用程序中的新实例



我有一个单实例VB 2010应用程序,我知道如何通过StartupNextInstance应用程序事件与下一个实例运行通信。通常的处理方法是解析新实例的命令行参数,然后继续执行旧实例。

我想做的是用新的实例替换正在运行的实例。除了禁用单实例属性之外,还有什么方法可以做到这一点吗?

为应用程序定义互斥锁

Public objMutex As Mutex
Public mutexID As String = "SINGLE_INSTANCE_APP_MUTEX_YOUR_APP"

然后检查是否正在运行

objMutex = New Mutex(False, mutexID)
If objMutex.WaitOne(0, False) = False Then
 ' If we get here we where already running
 Process.GetProcessById(oldInstancePID).Kill()
EndIf

最新更新