![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
зачем нужен CallNextHookEx [D6, WinXP]
Mr tray © (2006-05-14 23:21:00)Здравствуйте. Объясните пожалуйста, что делает функция CallNextHookEx. Я уже читал, что она передает сообщение следующей хук-функции. Но зачем это делается? И когда это надо делать, а когда - нет?
Nostradamus (2006-05-15 14:06:00) [1]Да всегда вызывай и не мороч себе голову - хуже не будет :)
Leonid Troyanovsky (2006-05-15 00:28:00) [2]
> Mr tray (15.05.06 00:23) [7]
> так?
А то.
Только, откуда можно знать, что установлен перед.
--
Regards, LVT.
Mr tray (2006-05-15 00:23:00) [3]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:10:00) [4]
> Mr tray (15.05.06 00:08) [5]
> Блин. Да скажи ты мне наконец!!
Читать умеешь?
Все равно, вслух-то я не скажу.
--
Regards, LVT.
Mr tray (2006-05-15 00:08:00) [5]Блин. Да скажи ты мне наконец!! Нах... следующей процедуре-хуку что-то вообще передавать. Зачем это надо?
Leonid Troyanovsky (2006-05-15 00:00:00) [6]
> Mr tray (14.05.06 23:40) [3]
> Только ли когда code в keyboardproc меньше нуля?
RTFM: msdn.
--
Regards, LVT.
Mr tray (2006-05-14 23:40:00) [7]Только ли когда code в keyboardproc меньше нуля?
Mr tray (2006-05-14 23:38:00) [8]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.
Но зачем передавать хук-информацию следующей хук-процедуре? И когда это надо делать?
Leonid Troyanovsky (2006-05-14 23:26:00) [9]
> Mr tray (14.05.06 23:21)
> Но зачем это делается? И когда это надо делать, а когда
> - нет?
RTFM: msdn.
--
Regards, LVT.