Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по хукам


Piter ©   (2004-11-27 23:54:00) 

Установка хука производится с помощью SetWindowsHookEx, при этом туда передается адрес функции, которая будет вызываться при возникновении определенного события, в зависимости от типа хука.

Но ведь ставится то хук в одном процессе, где адрес функции может быть одним, а событие происходит в другом процессе. При этом библиотека проецируется на адресное пространство удаленного процесса и функция вызывается в контексте потока удаленного процесса. Но ведь там адрес этой функции может быть совсем другим (если библиотека будет загружена по другому базовому адресу). И получается при несовпадении в удаленном процессе будет вызвано непонятно что.

Это действительно так?


Piter   (2004-11-29 16:42:00) [1]

VMcL ©   (29.11.04 7:35) [4]

Ок, в общем так и думал... Спасибо!


VMcL   (2004-11-29 07:35:00) [2]

>> Piter ©  (28.11.04 00:25) [2]

Потому что функция SetWindowsHookEx "знает" из какого процесса ее вызвали и после загрузки DLL в ВАП другого процесса корректирует адрес вызова перед оным.


Piter   (2004-11-29 00:13:00) [3]

Удалено модератором
Примечание: Создание пустых сообщений


Piter   (2004-11-28 00:25:00) [4]

Игорь Шевченко ©   (28.11.04 0:20) [1]
Нет


Ну Игорь! Я понимаю что лаконичность - это хорошо. Но все таки - почему я не прав?


Игорь Шевченко   (2004-11-28 00:20:00) [5]


> Это действительно так?


Нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо