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

时间:2011-07-15 10:22:15

标签: vb.net

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

我想要做的是用新的实例替换正在运行的实例。除了禁用单实例属性之外,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

为您的应用定义互斥锁

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