[Code]
//安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
function InitializeSetup(): Boolean;
begin
Result:= true;
if RunTask('{#MyAppExeName}', false) then
begin
if MsgBox('安装程序检测到 {#MyAppName} 正在运行!'#13''#13'单击“是”按钮关闭程序并继续安装;'#13''#13'单击“否”按钮退出安装!', mbConfirmation, MB_YESNO) = IDYES then
begin
KillTask('{#MyAppExeName}');
&n

本文介绍了如何在安装和卸载程序前,通过调用ISTask.dll动态链接库,检查并结束同一应用程序的运行实例。在Inno Setup脚本中,定义了RunTask和KillTask函数来检测和终止进程,并在初始化安装和卸载时调用这些函数,确保程序在无冲突的情况下执行。

4230

被折叠的 条评论
为什么被折叠?



