Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2013, 06:19   #1
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию различия хуков WH_GETMESSAGE WH_MSGFILTER WH_SYSMSGFILTER

Может кто нибудь в трех словах объяснить, чем WH_GETMESSAGE, WH_MSGFILTER, WH_SYSMSGFILTER отличаются?

Понятно, что они все работают с месседжами и все работают как-то по разному. Собственно, на этом заканчивается всё, что я сумел вычитать...
Smogg вне форума Ответить с цитированием
Старый 26.01.2013, 13:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
The WH_MSGFILTER hook can only monitor messages passed to a menu, scroll bar, message box, or dialog box created by the application that installed the hook procedure. The WH_SYSMSGFILTER hook monitors such messages for all applications.
+
Цитата:
The WH_GETMESSAGE hook enables an application to monitor messages about to be returned by the GetMessage or PeekMessage function. You can use the WH_GETMESSAGE hook to monitor mouse and keyboard input and other messages posted to the message queue.
Т.е. получается что MSGFILTER это частный случай WH_GETMESSAGE, работающий с интерфейсом окна.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.01.2013, 16:22   #3
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

А, вот как... То есть WH_GETMESSAGE ловит вообще все мессаджи, каковых до фига сколько, в том числе и отлавливаемые другими хуками.

Но чтобы уменьшить нагрузку на бесполезную обработку заранее не нужных мессаджей, на уровне системы реализована фильтрация самых типичных интерфейсных целей хукования - визуальное представление окна через WH_SYSMSGFILTER, WH_MSGFILTER и выделение сообщений из очереди по способу ввода чрез WH_KEYBOARD, WH_MOUSE....

спасибо)
Smogg вне форума Ответить с цитированием
Старый 26.01.2013, 16:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну да. Как-то так и получается. Хотя как по мне сама методика хуков в винде недоколыхана. Ходят слухи что она вообще создавалась только с целью упрощения отладки разрабатываемых программ.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие знания необходимы для изучения хуков? stdio Visual C++ 0 25.02.2012 15:44
Совмещение медиаплеера и хуков в delphi DessFray Помощь студентам 1 03.12.2011 12:38
Можно ли перехватывать сообщения MessageBoxA от определенного приложения с ипользованием хуков? Человек_Борща Win Api 2 03.06.2011 12:37
Раз уж речь пошла о кейлогерах... =) Возможны ли они без глобальных хуков? TwiX Общие вопросы Delphi 14 07.06.2010 13:26
Как загрузить свою DLL в атакуемый процесс, который не знает о ее существовании - Создание хуков KleoY Win Api 18 30.03.2009 14:31