我有一个实例VB 2010应用程序我知道如何与通过StartupNextInstance应用程序事件运行的下一个实例进行通信。 使用它的常用方法是解析新实例的命令行参数并继续执行旧实例。
我想要做的是用新的实例替换正在运行的实例。除了禁用单实例属性之外,有没有办法做到这一点?
答案 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