Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чем Hook отличается от подмены WindowProc?

590
23 февраля 2008 года
Gigahard
223 / / 03.04.2006
Собственно вопрос в теме. Чем отличается установка т.н. хука (hook) от подмены адреса оконной процедуры WindowProc на свою?
Чем предпочтительней пользоваться и почему?
6.8K
23 февраля 2008 года
Аццкий программер
91 / / 27.11.2006
Вопрос непонятен.

SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hMod,DWORD dwThreadId)

Ловушка(hook) устанавливается в поток с идентификатором ThreadId и позволяет при определенном событии(например при получении окном сообщения WH_GETMESSAGE) выполнить процедуру lpfn находящейся в библиотеке hMod.

А подмена оконной процедуры - SetWindowLongPtr(..) - позволяет обрабатывать сообщения окна "неродной" оконной процедурой. Но есть одна проблема. Она заключается в том, что обращение к процедуре другого процесса невозможно, т.к. каждый процесс владеет своим "личным" адресным пространством.

Ловушки могут использоваться, чтобы решить эту проблему.

Объяснил, как мог :) Но лучше почитать об этом у Рихтера
http://wm-help.net/books-online/book/59464/59464-16.html
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог