Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-54223
sancho
2003-02-27 16:16
2003.03.17
Как узнать t процессора?


14-54289
hatchy
2003-02-27 10:56
2003.03.17
Музыка или звуки......


4-54380
anod
2003-01-18 22:09
2003.03.17
Как мне вывести пункты листбокса????


14-54257
igorr
2003-02-28 11:51
2003.03.17
Парни потеют на 30% больше чем девушки


1-54033
Monak
2003-03-04 22:53
2003.03.17
Проблемки с файлами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский