![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateProcess
KSK © (2005-07-20 13:15:00)Добрый день.
Запускаю процесс на выполнение (фрагмент программы)
if not CreateProcess( nil, // No module name (use command line).
PChar(cmdline), // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
False, // Set handle inheritance to FALSE.
0, // No creation flags.
nil, // Use parent's environment block.
nil, // Use parent's starting directory.
si, // Pointer to STARTUPINFO structure.
pi ) // Pointer to PROCESS_INFORMATION structure.
then
begin
ShowMessage( 'CreateProcess failed.' );
Exit;
end;
Как определить когда процесс закончен??? не испрользуя
WaitForSingleObject( pi.hProcess, INFINITE );
так как программа ждёт завершения процесса, а мне надо запускать следующий процесс не дожидаясь завершения
предыдущего.
Одним словом, надо запустить в паралель два (или более) процесса и определить время их завершения.
Заранее благодарен за любые консультации.
KSK (2005-07-20 18:26:00) [1]Спасибо, за помощь.
alpet (2005-07-20 14:11:00) [2]Вызывай данную функцию из таймера, с таймаутом = 100. По результату определяется жив еще курилка, или нет его.
Digitman (2005-07-20 13:29:00) [3]если число запускаемых тобой процессов не превышает MAXIMUM_WAIT_OBJECTS, их можно ждать единым вызовом [Msg]WaitForMultipleObjects
Eraser (2005-07-20 13:21:00) [4]Вызывать WaitForSingleObject из отдельного потока.