![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WaitForSingleObject [D6, Win2k]
Dmitriy Polskoy © (2002-08-28 16:24:00)У меня такая проблема: я запускаю процесс(bat-файл), который, в
свою очередь, запускает еще оду программу. Как мне дождаться завершения той второй пограммы?
Слесарь Матерящийся (2002-08-29 11:02:00) [1]Ну зачем же использовать bat файл, если можно всё сделать программно?
Slava (2002-08-29 06:55:00) [2]var
FExitCode: DWORD;
...
repeat
Application.ProcessMessages;
GetExitCodeProcess(P.hProcess, FExitCode);
Sleep(10);
until FExitCode <> STILL_ACTIVE;
Denvor (2002-08-29 05:47:00) [3]Ха!
А как в приведенном выше примере сделать так, чтобы моя программа не превращалась в паралитика и реагировала на щелчки юзера, пока вызванныя программа выполняется?Куда вставить Application.ProcessMessages?
Ученик (2002-08-28 20:20:00) [4]>Dmitriy Polskoy © (28.08.02 17:07)
Так вроде ждет или что написано в bat-файле ?
Dmitriy Polskoy (2002-08-28 17:07:00) [5]Но у тебя запускается только одна прога. Ее конца дождаться легко. А как поступать со второй?
Wizard_Ex (2002-08-28 16:37:00) [6]var
si : Tstartupinfo;
p : Tprocessinformation;
nn : string;
begin
nn:="Pftp.exe";
FillChar(si,Sizeof(si),#0);
si.cb:=Sizeof(si);
si.dwFlags:=STARTF_USESHOWWINDOW;
si.wShowWindow:=SW_SHOWNORMAL;
CreateProcess(nil,PChar(nn),nil,nil,false,0,nil,nil,si,p);
WaitForSingleObject(p.hProcess,infinite);
end;
Пользуй однако...