![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу добраться до процесса :( [D5, Win95/98, Win2k]
Sinplecy © (2003-02-04 14:55:00)Привет всем!
Тут возник забавный вопрос: нудно убить процесс, но не основной.
Пример: Нужно убить все окна explorer.exe, но рабочий стол оставить жить.
Я попытался решить следующим образом: через toolhelp найти все процессы explorer.exe и убить все из них, кроме первого. Но проблема в том, что через OpenProcess у меня получается открыть только главный процесс - explorer.exe, а попытка открыть дочерние его поцессы порождает ошибку 87: "Параметр задан неверно".
Подскажите, пожалуйста, обходные пути.
Заранее благодарен.
Nick_N_A (2003-02-05 05:54:00) [1]Процесс стоит за окном, если его убить - окно уйдет само,
ваши примеры с DestroyWindow, closeWindow работают пока
прога не повисла + если в ее WndProc ето разрешено.
GetWindowTask, GetWindowThreadProcessId, и TerminateProcess
не работают
Игорь Шевченко (2003-02-04 17:46:00) [2]Что-то слишком странное. Как связаны окна с процессами ?
Sinplecy (2003-02-04 17:42:00) [3]Под дочерними процессами я понимаю процессы, th32ParentProcessID которых не равен 0. Т.е. все дочерние процессы explorer - процессы, th32ParentProcessID которых = th32ProcessID.
Explorer - просто пример.
Просто мне надо оставить по одному окну от каждого процесса, получаемого по Process32[First/Next]. Я думаю, так будет понятнее. А там у них процессов-деток у каждого великое множество. За редкими исключениями.
Главная цель - сносить все окна проводника, т.е. окна explorer"a, не являющиеся рабочим столом. Но хотелось бы что-то универсальное :)
Заранее благодарен.
Игорь Шевченко (2003-02-04 15:10:00) [4]Что есть дочерние процессы и каким боком они относятся к онкам Explorer"а ?