![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
У меня есть hook на shell. Как запретить создание определенного окна с известным caption?
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: нет Всего: 4 |
Читаем хэлп на сообщение WM_CREATE
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
Т.е. перехватывать сообщение wm_create и hook на системные сообщения?
Если можно, поподробнее, плз. -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: нет Всего: 4 |
При создании оконного приложения создаются окна. При этом генерируется куча сообщений, вот только некоторые из них: WM_NCCREATE, WM_CREATE, WM_SIZE и пр. Если Вы хотите отфильтровывать, Вам надо отлавливать эти сообщения и обнулять их или вернуть недопустимый код возврата, чтобы оно не исполнилось но только для тех окон, которые Вы не хотите чтобы они появлялись. Однако это не всё. Надо ещё терминировать их процессы. Вообщем здесь дафига чего может быть...
Легче наверно сразу по процессам - EnumProcesses() и в поток и отлавливать таким образом неугодные. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| FdX |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Репутация: нет Всего: нет |
EnumProcesses, помойму, пашет только под НТ. По этому, наверное, лучше toolhelp - process32first, process32next и т.п.
|
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: нет Всего: 2 |
Т.е. не получится просто не пропустить сообщение, чтобы процесс не запустился?
-------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: нет Всего: 4 |
Почему? Можно. Просто нужно вернуть недопустимый код возврата.
Я просто имел ввиду, что таким образом надо пинать под зад не одному сообщению. Нет такого одного, чтобы его послать и окно не создатся, надо отслеживать все сообщения, возникающее при создании окна, которое необходимо заблокировать. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| FdX |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Репутация: нет Всего: нет |
Гораздо проще, зная hwnd, GetWindowThreadPeocessId - OpenProcess - TerminateProcess. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |