解决方法
检查这些
Inno Setup: Detect instances running in any user session with AppMutex
Inno Setup: Is application running?
Inno Setup: Detect if an application is running
有几种方法如果您的程序定义了互斥体使用
@H_403_14@[Setup] AppMutex=MyMutexName或代码部分中的指定互斥体
@H_403_14@function CheckForMutexes (Mutexes: String): Boolean;你也可以使用
@H_403_14@function FindWindowByClassName (const ClassName: String): Longint;通过类名获取窗口句柄并发送消息。
或者通过名称得到它
@H_403_14@function FindWindowByWindowName (const WindowName: String): Longint;或者您使用几个DLL文件之一用于此特定用例
或者在阅读后自己做
How To Terminate an Application “Cleanly” in Win32
How To Enumerate Applications Using Win32 APIs(这个链接到德国版本,由于某种原因我找不到英文版本的KB175030
或尝试谷歌翻译版本的KB175030-DE