Форум: "WinAPI";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
ВнизWin API Найти похожие ветки
← →
Uncle Archi (2002-12-03 21:25) [0]Пожалуйста помогите! Как можно узнать о завершении процесса, если имеется Id. WaitforSingleObject и GetExitCodeProcess не подходят, так как они ждут завершения, а мне, если процесс не завершен надо кое-что делать. Помогите. Спасибо за внимание.
← →
Игорь Шевченко (2002-12-04 09:10) [1]Как ни парадоксально, но WaitForSingleObject с параметром Timeout равным чему-то разумному, а не INFINITE. Например, если этот параметр равен 0, то функция не ждет, а просто возвращает статус- завершился процесс или еще нет :-)))
← →
Внук (2002-12-04 09:45) [2]GetExitCodeProcess ждет завершения??? Это ново.
А вообще вопрос звучит так: подскажите правильную функцию, а то в WinAPI они все неправильные :)) (Без обид).
← →
paul_shmakov (2002-12-04 14:24) [3]вообще-то нужно еще OpenProcess(SYNCHRONIZE, false, Id) вызвать, есть "имеется Id"
← →
Uncle Archi (2002-12-04 14:51) [4]Спасибо!
(вообще-то не GetExitCode... а сочетание этих функций:
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
← →
paul_shmakov (2002-12-04 15:00) [5]2 Uncle Archi:
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
на самом деле достаточно:
if WaitforSingleObject(ProcessInfo.hProcess, INFINITE) = WAIT_OBJECT_0 then
// процесс завершился
а это проверка, что процесс еще не завершился
if WaitforSingleObject(ProcessInfo.hProcess, 0) = WAIT_TIMEOUT then
// процесс еще работает
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.019 c