Форум: "WinAPI";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизHook s id Dll s - пожалуйсто объясните. Найти похожие ветки
← →
Raptor (2002-01-29 22:25) [2]при этом сам hook это:
- объект Windows, располагающийся где ?
В АП всех процессов, которые вызвали функцию обработки хука. Когда ставишь, например, хук на клавиатуру ДЛЛ подгружается в АП твоего процесса. Когда ты переключаешься на другое приложение и нажимаешь кнопку на клаве, ДЛЛ сразу же подгруж в АП этого процесса и будет оставаться там пока не будет снят хук.
- если мой процесс окончит работу, hook будет снят ?
Непременно. Причем даже если закончит работу не сам процесс, а та нить, которая поставила хук.
Когда мой hook срабатывает:
- моя dll польностью отображается на АП процесса (или потока) в котором произошло отследуемое событие ?
Да.
- callback ф-ия, указатель на которую передаётся при вызове SetWindowsHookEx() выполняется в контексте моего процесса или процесса в котором произошло событие, отслеживаемое моим hook-ом ?
В контексте того процесса в котором произошло событие, отслеживаемое hook-ом.
При установке новой ловушки она ставится в конец цепочки уже существующих:
- цепочка ловушек в системе только одна или несколько взависимости от типа hook-а ?
Для каждого типа хука отдельная цепочка.
- когда я передаю сообщение дальше по цепочке CallNextHookEx() первым параметром я передаю дескриптор следующего hook-а ??? А как я его узнаю если не я его устанавливал, а к примеру другое приложение ?
CallNextHookEx вызывается в callback-функции обработки хука для того что бы передать сообщение далее по цепочке хуков. Когда ты ставишь хук, ты вызываешь функцию SetWindowsHookEx, результатом которой и будет дискриптор, который ты подставляешь первым параметром в функцию CallNextHookEx. Об этом вроде очень даже прозрачно написано в хелпе.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c