Форум: "WinAPI";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];
ВнизКак правильно в ДЕЛФИ описать процедуру CBT хука? Найти похожие ветки
← →
UNIVERSAL (2003-01-17 16:01) [0]Как правильно в ДЕЛФИ описать процедуру CBT хука, которая отлавливает создание окон? Всегда ли она должна быть описана в DLL или её можно описать в exe?
← →
Игорь Шевченко (2003-01-17 16:06) [1]RTFM: SetWindowsHookEx, там все-все написано...
← →
UNIVERSAL (2003-01-17 16:13) [2]Я уже читал, видимо пригнадлежу к тем людям, до которых лучше доходит, когда им объясняют на примерах. Я только разбираюсь в этих хуках...
← →
Игорь Шевченко (2003-01-17 16:44) [3]UNIVERSAL (17.01.03 16:13)
http://msdn.microsoft.com - примеров с хуками - полно.
← →
UNIVERSAL (2003-01-20 09:02) [4]Спасибо посмотрю.
← →
Vasily Terekhov (2003-01-20 09:32) [5]// Set Hook
HookCBTHandle := SetWindowsHookEx(WH_CBT, @CBTHook, hInstance, 0);
if HookCBTHandle = 0 then
MessageBox(0, "Set CBT hook error", "ERROR", MB_ICONHAND);
// Remove hook
if HookCBTHandle <> 0 then
UnhookWindowsHookEx(HookCBTHandle);
// CBT Function
function CBTHook(Code : Integer; wParam, lParam: DWORD): Longint; stdcall;
begin
if Code >= 0 then
begin
case Code of
HCBT_MINMAX:
begin
end;
.........
end;
Result := 0;
end
else
Result := CallNextHookEx(HookCBTHandle, Code, wParam, lParam);
end;
← →
UNIVERSAL (2003-01-20 10:28) [6]Подскажите, плз, как занести в приложение, ставящее хук (в ListBox), информацию о создании окна (т.е. другого приложения)?
← →
UNIVERSAL (2003-01-22 16:25) [7]>>Vasily Terekhov
Вы неправы если размещаете процедуры установки и снятия хука в DLL вместе с процедурой обработки хука. В ссылке на МСДН, предоставленной выше, английским языком написано, что процедура обработки хука должна быть в DLL, а ставиться хук должен в отдельном приложении
цитата:
You must place a global hook procedure in a dynamic-link library (DLL) separate from the application installing the hook procedure.
Теперь у меня вопрос. Из хелпа на вышеуказанном сайте непонятно как должна работать процедура обработки хука в частности CBTProc
Возможно я невнимательно (1000 раз) посмотрел этот модуль, но я так и не понял что такое CBT в строке
if (nCode < 0) // do not process message
return CallNextHookEx(myhookdata[CBT].hhook, nCode, wParam, lParam);
и откуда оно берётся, а также NUMHOOKS?
Вообще как должна процедура обработки хука, наход-ся в DLL узнать хендл текущего хука (HHOOK), поставленного в приложении?
Кто-нить из профи помогите плз. Может я, конечно, дуратские вопросы задаю, но очень разобраться хочется.
← →
UNIVERSAL (2003-01-24 14:16) [8]>>Vasily Terekhov
Сорри неправ я.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c