![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день.
Можно ли сделать так: 1. Запустить процесс. (Например архивирование файла). 2. Ждать его завершения. (Но пока процесс не завершился, выводить что нибудь на экран) 3. Перейти далее... (например к отправке файла по почте). Это я сам сделаю... ![]() Если делать так: Код:
uses Windows;
var
SI: _STARTUPINFOA;
PI: _PROCESS_INFORMATION;
RarParam : String;
begin
RarParam := 'rar.exe a -ep ' + dPath + 'tmp\'+ FileName + '.rar ' + dPath + FileName;
FillChar(SI, sizeof(SI), #0);
SI.cb:=sizeof(SI);
FillChar(PI, sizeof(PI), #0);
CreateProcess(nil,PAnsiChar(RarParam),nil,nil,false,0,nil,nil,SI,PI);
WaitForInputIdle(PI.hProcess, INFINITE);
WaitForSingleObject(PI.hProcess,INFINITE);
ShowMessage('Finish');
end;То, естественно, сообщение Finish появиться когда rar закроется. Как можно периодически опрашивать состояние процесса? |