|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2011, 16:49 | #1 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Смертоубийство своего процесса
Здравствуйте, уважаемые.
Есть чужой процесс. В него внедряется моя библиотека. Из библиотеки вызывается приложение (TApplication). Как из этой библиотеки и из окна приложения можно убить весь свой процесс, что называется "без лишнего шума" (подразумевается, что у процесса есть два ведущих потока, при завершении одного - второй ругается. нужно чтоб умерли все потоки процесса молча)? Application.Terminate; прошу не постить, я не полный чайник. Так же не хочу видеть "приколы" с открытием процесса для PROCESS_ALL_ACCESS или PROCESS_TERMINATE - я итак уже в процессе и имею полный контроль над ним (в том числе захукал некоторые функции). Спрашиваю не потому, что лень писать, а потому, что не знаю "элегантного" кода.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
21.08.2011, 18:37 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ExitProcess?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
23.08.2011, 17:53 | #3 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Странным образом окна убиваются, но процесс остается висеть в системе...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
23.08.2011, 18:29 | #4 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Попробуйте возспользоваться утилитой PETools и смотрите что происходит с вашим процессом.
В особенности когда: Цитата:
Последний раз редактировалось Человек_Борща; 23.08.2011 в 18:36. |
|
23.08.2011, 18:58 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
23.08.2011, 19:05 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Думаю что держит. И этот кто-то живет в самом процессе. МБ хук на что-то не закрыт? Или есть какая-то внешняя программу управляющая dll.
|
23.08.2011, 19:26 | #7 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Дедлок у вас, о чём MSDN прямо предупреждает:
Цитата:
пыщь
|
|
23.08.2011, 19:29 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
открывать помоему не надо.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание своего *.project | garengobit | Помощь студентам | 0 | 30.05.2011 23:30 |
Приоритет своего приложения | SoftKoc | Общие вопросы Delphi | 9 | 13.09.2010 15:53 |
Запуск процесса в потоке, завершение процесса в указааноое время, Дайте совет | Человек_Борща | Общие вопросы Delphi | 3 | 29.08.2010 12:58 |
Смена своего IP - адреса. | VintProg | Свободное общение | 58 | 05.07.2010 16:14 |
Создание своего класса | AlexandrSid | Общие вопросы Delphi | 3 | 19.05.2008 13:28 |