Как запустить приложение и подождать пока оно отработает 7
Автор: RhinoFC
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Запуск программы и ожидание ее завершения.
Функция запускает внешнюю программу, заданную параметром Path, и ждет ее завершения.
Во время выполнения внешней программы, текущее приложение скрывается (
т.к. не может перерисовать главное окно, что некрасиво), поэтому фактически
происходит переключение с текущей программы на внешнюю и,
после завершения внешней программы, обратно.
В качестве внешней программы может выступать любой выполняемый файл (EXE, COM, BAT, SCR).
Зависимости: Windows, Forms
Автор: Евгений Валяев (RhinoFC), rhinofc@sniiggims.ru, ICQ:55263922, Новосибирск
Copyright: RhinoFC
Дата: 5 июня 2002 г.
***************************************************** }
function SwitchToProg(const Path: string): Boolean;
var
SI: TStartupInfo;
PI: TProcessInformation;
ExitCode: Cardinal;
begin
FillChar(SI, SizeOf(SI), 0);
SI.cb := SizeOf(SI);
Result := CreateProcess(nil, PChar(Path), nil, nil, False, 0, nil, nil,
SI, PI);
if Result then
begin
Application.MainForm.Hide;
while GetExitCodeProcess(PI.hProcess, ExitCode) and
(ExitCode = STILL_ACTIVE) do
; // ждем завершения, пустой цикл
Application.MainForm.Show;
end;
end;
|