Thanks Razor!
BTW:
im used taskkill for zstdrec.exe
Code:
function IsProcessRunning(FileName: String): Boolean;
var
objSWbemLocator, objSWbemServices: Variant;
begin
try
objSWbemLocator:= CreateOleObject('WbemScripting.SWbemLocator');
except
ShowExceptionMessage;
Exit;
end;
objSWbemServices:= objSWbemLocator.ConnectServer();
objSWbemServices.Security_.ImpersonationLevel := 3;
Result := (objSWbemServices.ExecQuery('SELECT * FROM Win32_Process WHERE Name="' + FileName + '"').Count > 0);
end;
Cancel Button or ISDoneError
Code:
var
#ifdef zstdrec
ResC: Integer;
#endif
begin
------
#ifdef zstdrec
if IsProcessRunning('zstdrec.exe') then
Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM zstdrec.exe', '', SW_HIDE, ewWaitUntilTerminated, ResC);
#endif
end;