Карта сайтаСсылкиКонтакты

Как запустить программу из своего приложения и ждать ее завершения

PDF Печать
Статьи

Функция WinExecAndWait получает в качестве параметров путь к приложению, которое нужно запустить, булево значение видимости приложения, запускает приложение и ждет ее завершения.


function WinExecAndWait(Path : string; Visibility : word) : word;
var
  InstanceID : THandle;
  PathLen : integer;
begin
  { встроенное преобразование String в PChar }
  PathLen := Length(Path);
  Move(Path[1],Path[0],PathLen);
  Path[PathLen] := #0;
  { Пробуем запустить приложение }
  InstanceID := WinExec(@Path,Visibility);
  if InstanceID < 32 then { значение меньше 32 указывает на ошибку Exec }
     WinExecAndWait := InstanceID
  else
  begin
    Repeat
      Application.ProcessMessages;
    until Application.Terminated or (GetModuleUsage(InstanceID) = 0);
    WinExecAndWait := 32;
  end;
end;

 

Добавить комментарий


Защитный код
Обновить