我需要检查多个 .exe 文件是否正在运行(通过安装程序安装),然后提示用户关闭它们(如果它们正在运行),如果没有则取消卸载过程。
有没有办法在安装中为卸载程序提供类似“准备”页面之类的内容?
或者我该如何实施这样的检查?甚至一个消息框也将是完美的。
如果这是您的应用程序,请让它创建一个互斥体。然后你可以使用AppMutex指示 https://jrsoftware.org/ishelp/index.php?topic=setup_appmutex,甚至适用于卸载程序。
[Setup]
AppMutex=MyProgMutex
如果无法修改应用程序,则需要在 Inno Setup 中编写代码以检查正在运行的应用程序。例如,您可以使用IsAppRunning
从 @RRUZ 的答案到函数如何使用 Inno Setup 检查进程是否在 Windows 2008 R2 64 位上运行? https://stackoverflow.com/q/9941293/850848 in .
function InitializeUninstall(): Boolean;
var
Message: string;
begin
while IsAppRunning('MyProg.exe') do
begin
Message := 'The program is running, please close it';
if MsgBox(Message, mbError, MB_OKCANCEL) = IDCANCEL then
begin
Result := False
Exit;
end;
end;
Result := True;
end;
有关安装程序的类似问题,请参阅:
在尝试安装之前是否可以检查程序是否已经在运行? (创新设置) https://stackoverflow.com/q/60526914/850848
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)