[Code]app
//安裝前判斷是否有進程正在運行,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';spa
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}');
Result:= true;
end
else
Result:= false;
end
else Result:= true;
end;進程
// 卸載前判斷進程是否在運行
function RunTaskU(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}/ISTask.dll stdcall delayload uninstallonly';
function KillTaskU(ExeFileName: string): Integer;
external 'KillTask@{app}/ISTask.dll stdcall delayload uninstallonly';get
function InitializeUninstall(): Boolean;
begin
Result:= true;
if RunTaskU('{#MyAppExeName}', false) then
begin
if MsgBox('卸載程序檢測到 {#MyAppName} 正在運行!'#13''#13'單擊「是」按鈕關閉程序並繼續卸載;'#13''#13'單擊「否」按鈕退出卸載!', mbConfirmation, MB_YESNO) = IDYES then
begin
KillTaskU('{#MyAppExeName}');
Result:= true;
end
else
Result:= false;
end
else
Result:= true;
UnloadDll(ExpandConstant('{app}/ISTask.dll'));string
end;it