Что то не пашет эта фигня
Вроде бы всё работает, причем в игре 3 версии, все корректно завершается если нужно. Единственное, что меня не устраивает, что установку можно продолжить даже при запущенном процессе, не знаю пока как победить, новичок совсем))
[code*]
// Завершение процесса по имени файла
function KillTask(ExeFileName: AnsiString): Integer;
external 'KillTask@files:ISTask.dll stdcall';
// Проверка, запущен ли процесс по имени файла
function RunTask(FileName: AnsiString; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall';
// конец Проверка, запущен ли процесс по имени файла
function InitializeSetup: Boolean;
// поиск запущенного процесса
begin
Result := True;
if RunTask('age3y.exe', False) then
if MsgBox('Закрыть The Asian Dynasties? Если НЕТ, то корректная установка {#MyAppVersion} не гарантируется', mbConfirmation, MB_YESNO) = IDYES then
KillTask('age3y.exe')
else
Result := False;
begin
Result := True;
if RunTask('age3x.exe', False) then
if MsgBox('Закрыть The War Chiefs? Если НЕТ, то корректная установка {#MyAppVersion} не гарантируется', mbConfirmation, MB_YESNO) = IDYES then
KillTask('age3x.exe')
else
Result := False;
begin
Result := True;
if RunTask('age3.exe', False) then
if MsgBox('Закрыть Age of Empires III? Если НЕТ, то корректная установка {#MyAppVersion} не гарантируется', mbConfirmation, MB_YESNO) = IDYES then
KillTask('age3.exe')
else
Result := False;
end;