Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

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

 
SergP ©   (2005-01-27 23:40) [0]

Консольное приложение должно создать файл, заархивировать его с помощью внешнего архиватора (arj), а затем с архивом выполнить определенные действия. однако если запускать arj обычными методами, то выполнения приложения при этом не приостанавливается. А ведь мне нужно дождаться пока не закончится архивирование. Как это можно сделать?


 
DrPass ©   (2005-01-27 23:43) [1]

CreateProcess + WaitForSingleObject


 
Gero ©   (2005-01-27 23:43) [2]

function ExecAndWait(FileName: string): Boolean;
var
 zAppName: array[0..512] of Char;
 StartupInfo: TStartupInfo;
 ProcessInfo: TProcessInformation;
 Res: Cardinal;
begin
 StrLCopy(zAppName, PChar(FileName), Length(FileName));
 FillChar(StartupInfo, SizeOf(StartupInfo), #0);
 StartupInfo.cb := SizeOf(StartupInfo);
 StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
 StartupInfo.wShowWindow := SW_SHOW;
 if not CreateProcess(nil, zAppName, nil, nil, False, CREATE_NEW_CONSOLE or
  NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
   Result := False
 else
   begin
     WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
     GetExitCodeProcess(ProcessInfo.hProcess, Res);
     Result := Res = 0;
   end;
end;



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
14-1106570898
vecna
2005-01-24 15:48
2005.02.13
2 torry !


1-1106803696
newver
2005-01-27 08:28
2005.02.13
много файлов, ресурсы компа, оптимизация.


1-1107078546
MakedoneZ
2005-01-30 12:49
2005.02.13
Что означает ошибка "Invalid variant type convertion".


4-1103976618
GuAV
2004-12-25 15:10
2005.02.13
WM_QUIT


1-1107152415
DmitryNekl
2005-01-31 09:20
2005.02.13
Включение dcu файла в exe-шник