我有一个Inno安装项目,我想在卸载之前检查应用程序是否实际运行.我尝试了很多方法但是在Windows 7中运行时它都无声地失败.例如,无论记事本是否正在运行,以下notepad.exe使用psvince.dllalways 检查进程的脚本都会返回false.
我psvince.dll在C#应用程序中使用它来检查,如果它在Windows 7下工作,它的工作没有任何问题.所以我最好的猜测是安装程序无法在启用UAC的情况下正常运行.
[Code]
function IsModuleLoaded(modulename: String): Boolean;
external 'IsModuleLoaded@files:psvince.dll stdcall';
function InitializeSetup(): Boolean;
begin
if(Not IsModuleLoaded('ePub.exe')) then
begin
MsgBox('Application is not running.', mbInformation, MB_OK);
Result := true;
end
else
begin
MsgBox('Application is already running. Close it before uninstalling.', mbInformation, MB_OK);
Result := false;
end
end;
Run Code Online (Sandbox Code Playgroud) 我正在使用 Inno Setup 来创建安装程序。当我启动我创建的安装程序时,我需要检查我尝试安装的程序是否已经在运行,如果它正在运行,那么我必须显示相应的消息,直到我关闭它或退出。可以这样做吗?
inno-setup ×2