Текущий архив: 2006.09.10;
Скачать: CL | DM;
Вниззачем нужен CallNextHookEx Найти похожие ветки
← →
Mr tray (2006-05-14 23:21) [0]Здравствуйте. Объясните пожалуйста, что делает функция CallNextHookEx. Я уже читал, что она передает сообщение следующей хук-функции. Но зачем это делается? И когда это надо делать, а когда - нет?
← →
Leonid Troyanovsky © (2006-05-14 23:26) [1]
> Mr tray (14.05.06 23:21)
> Но зачем это делается? И когда это надо делать, а когда
> - нет?
RTFM: msdn.
--
Regards, LVT.
← →
Mr tray (2006-05-14 23:38) [2]The CallNextHookEx function passes the hook information to the next hook procedure in the current hook chain. This function supersedes the DefHookProc function.
Перевод:
Функция CallNextHookEx передает хук-информацию следующей хук-процедуре в текущей цепи хуков. Эта функция заменяет функцию DefHookProc.
И ещё про keyboardproc:
If code is less than zero, the hook procedure must pass the message to the CallNextHookEx function without further processing and should return the value returned by CallNextHookEx.
Перевод:
Если code меньше нуля, хук-процедура должна передать сообщение функции (то есть, вызвать функцию) CallNextHookEx без дальнейшего функционирования и должна возвратить значение, возвращенное функцией CallNextHookEx.
Но зачем передавать хук-информацию следующей хук-процедуре? И когда это надо делать?
← →
Mr tray (2006-05-14 23:40) [3]Только ли когда code в keyboardproc меньше нуля?
← →
Leonid Troyanovsky © (2006-05-15 00:00) [4]
> Mr tray (14.05.06 23:40) [3]
> Только ли когда code в keyboardproc меньше нуля?
RTFM: msdn.
--
Regards, LVT.
← →
Mr tray (2006-05-15 00:08) [5]Блин. Да скажи ты мне наконец!! Нах... следующей процедуре-хуку что-то вообще передавать. Зачем это надо?
← →
Leonid Troyanovsky © (2006-05-15 00:10) [6]
> Mr tray (15.05.06 00:08) [5]
> Блин. Да скажи ты мне наконец!!
Читать умеешь?
Все равно, вслух-то я не скажу.
--
Regards, LVT.
← →
Mr tray (2006-05-15 00:23) [7]if a hook procedure does not call CallNextHookEx, Windows does not call the hook procedures installed before the current hook procedure was installed.
Если хук-процедура не вызывает CallNextHookEx, Виндоус не вызывает хук-процедуры, установленные перед установкой данной хук-процедуры.
То есть, если моя программа с моим DLL использует только одну хук-процедуру (то есть, нет хук-проуедур, установленных "перед установкой данной хук-процедуры"), то мне нужно вызывать CallNextHookEx только в
случае code<0:
if code<0 then begin
result:=CallNextHookEx(code,handle,wparam,lparam);
exit;
end;
так?
← →
Leonid Troyanovsky © (2006-05-15 00:28) [8]
> Mr tray (15.05.06 00:23) [7]
> так?
А то.
Только, откуда можно знать, что установлен перед.
--
Regards, LVT.
← →
Nostradamus (2006-05-15 14:06) [9]Да всегда вызывай и не мороч себе голову - хуже не будет :)
Страницы: 1 вся ветка
Текущий архив: 2006.09.10;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.054 c