Как запустить и подождать завершения 2х процессов?

Материал из DRKB

Как запустить и подождать завершения 2х процессов?[править | править код]

procedure HzChe;
var
  hProcess: array [0..1] of Cardinal;
  struc1: PSTARTUPINFO;
  struc2: PROCESS_INFORMATION;
begin
  if not CreateProcess(PChar('c:\PSTOLD.EXE'), nil, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, struc1^, struc2) then 
    ShowMessage('Zhopa kakaya-to');
  hProcess[0] := struc2.hProcess;
  if not CreateProcess(PChar('c:\PSTOLD1.EXE'), nil, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, struc1^, struc2) then 
    ShowMessage('Zhopa kakaya-to');
  hProcess[1] := struc2.hProcess;
  if WaitForMultipleObjects(2, @hProcess, True, INFINITE) = 1 then 
    ShowMessage ('    vce, priehali' );
end;


P.S. То, что я понаписал нельзя считать цивильным кодом...просто демонстрация работы функции WaitForMultipleObjects (код позорный...просто жуть...)


Author: Baa
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 02063