Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-62403
viper
2002-12-24 12:07
2003.01.20
DBGrid


4-62916
Agent_Alex
2002-12-03 17:48
2003.01.20
Товарищи мастера нужна ваша помощь...


14-62768
Ru
2002-12-19 14:36
2003.01.20
---|Ветка была без названия|---


3-62359
Kurt
2002-12-11 23:13
2003.01.20
ЛЮДИ! Помогите плиз! на моем компе все без проблем работает, а на


1-62515
Chainik
2003-01-08 14:22
2003.01.20
Как после работы с Excel убивать его в памяти