在INNO打包中用ISTask.dll插件如何杀死2个或多个进程呢?
请教在INNO打包中用ISTask.dll插件如何杀死2个或多个进程呢?小弟尝试改写代码,以求判断2个或多个进程,最终都以失败告终,所以到这里请教大家,请大家多多指点,下面是我脚本代码的一部分,用来判断1个进程是没问题的。
[Files]
Source: Dynamic Link Library\ISTask.dll; DestDir: {app}; Flags: ignoreversion solidbreak uninsrestartdelete
[Code]
function RunTask1(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function KillTask1(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}\ISTask.dll stdcall uninstallonly';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@{app}\ISTask.dll stdcall uninstallonly';
function InitializeSetup():boolean;
begin
if RunTask1('forever.dat', false) then//安装时检测进程是否在运行
if MsgBox('安装程序检测到 {#AppName} 当前正在运行 '#10#10'点“是(Y)”立即结束程序,点“否(N)”退出安装',mbConfirmation, MB_YESNO) = IDYES then//如果用户选择“是”
KillTask1('forever.dat')//结束进程
else
begin
Result :=false;//返回值=false,程序退出
Exit;
end;
function InitializeUninstall(): Boolean;
begin
Result:= true;
if RunTask('forever.dat', false) then
if MsgBox('卸载程序检测到 {#AppName} 当前正在运行 '#10#10'点“是(Y)”立即结束程序,点“否(N)”退出', mbConfirmation, MB_YESNO) = IDYES then
KillTask('forever.dat')
else begin
Result :=false;
Exit;
end;
UnloadDll(ExpandConstant('{app}\ISTask.dll'))
end;
谢谢。