![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| bass |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Доброго времени суток.
Вопрос такой, хочу прехватывать все оконные сообщения процесса. В процесе присудствуют окна не прорисованные, созданные для посылки специфических сообщений. Давно пробовал сделать с помощью хуков не чем хорошим не закончилось. Сейчас приходит мысль перехватывать WinApi функцию GetMessage. Есть у кого другие идеи, за ранее спасибо. |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
А какие были проблемы при установке хука?
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| bass |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Не все сообщения перехватывались, либо не все окна. Давновато было, но помню что не получилась у меня данная процедура. |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Это может быть например для хука WH_GETMESSAGE, при посылке SendMessage. В таком случае, сообщение передается в процедуру окна непосредственно, минуя очередь сообщений. Если поставить хук WH_CALLWNDPROC, таких проблем быть не должно, конечно, если только процедура окна не была вызвана прямым кодом, типа:
думаю, хук WH_CALLWNDPROC зашит в вызове CallWindowProc -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| bass |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Спасибо попробую. Процедура точно на прямую не вызываеться - 100 %... Не буду обьяснять почему так уверен... Но кажеться хук WH_CALLWNDPROC ставил. Может быть из-за того что сообщения приходящие в окно не зарегистрированы в системе ???. Нужно перехватывать сообщения приходящие во все окна процесса. |
||||
|
|||||
| bass |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Не выходит каменный цветок.
Создаю приложение, создаю поток. В нем создаю окно в программе 1 ... Ставлю перехвадчик с помощью перелистывания всех окон(из программы 2). Хук ставиться только на главное окно программы1. Собщение во второе окно точно доходит, програамма сигнализирует об этом . Хук в длл. В чем проблема пока не пойму.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |