Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Процессы


Solbon ©   (2007-06-21 06:27:00) 

как можно удалить через DELPHI процесс


Инс   (2007-06-21 18:03:00) [1]

Сергей М.

Спасибо, я в курсе. Немного даже могу подправить, объект удаляется после после того как обнуляется счетчик дескрипторов (так как код user-mode ссылается на объекты через дескрипторы) и после того, как обнуляется счетчик ссылок (так как код kernel-mode ссылается на объекты через указатели, а не дескрипторы). Но судя по формулировке вопроса, автор имел в виду именно завершение процесса, хотя я не телепат, могу и ошибаться.


Сергей М.   (2007-06-21 16:22:00) [2]


> Инс   (21.06.07 15:51) [3]


Все чудесно, но собственно вызов TerminateProcess "удалением" процесса не занимается - он лишь терминируетпроцесс, что как раз и следует из названия функции.

Удаление же процесса - это удаление объекта, представляющего процесс. А объект, как известно, удаляется после закрытия последнего хэндла из списка ассоциированных с объектом хэндлов.


Инс   (2007-06-21 15:51:00) [3]

Можно попробывать сначала мягенько. Через SendMessageTimeout послать главному потоку процесса WM-QUIT, а если не выйдет - то TerminateProcess.


Ega23   (2007-06-21 09:14:00) [4]

Delphi не удаляет процессы.


Сергей М.   (2007-06-21 08:43:00) [5]

OpenProcess + TerminateProcess + CloseHandle


Наверх

Титульная страница Поиск, карта сайта Написать письмо