解决方法
检查这些
Inno Setup: Detect instances running in any user session with AppMutex
Inno Setup: Is application running?
Inno Setup: Detect if an application is running
有几种方法如果您的程序定义了互斥体使用
[Setup] AppMutex=MyMutexName
或代码部分中的指定互斥体
function CheckForMutexes (Mutexes: String): Boolean;
你也可以使用
function FindWindowByClassName (const ClassName: String): Longint;
通过类名获取窗口句柄并发送消息。
或者通过名称得到它
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