Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

hooks 


Igor2312   (2002-02-21 02:30) [0]

Привет знатокам.
Как нужно поставить хук, так что бы он передавал в мой прогу информацию о созданном системой окне
(класс окна и его caption). спасибо



Fellomena   (2002-02-21 10:40) [1]

Элементарно Ватсон !
В своей программе регестрируешь пользовательское сообщение:
...
private
procedure MyMSG(Message: TMessage); message WM_USER+111;
...

Затем из DLL ставишь ловушку:
SetWindowsHookEx(WH_CALLWNDPROC, @ShellProc, HInstance, 0);
(хотя может лучше использовать WH_GETMESSAGE - не уверена - посмотри в help-е сам)

Ну а когда ловушка срабатывает из callback ф-ии (в данном случае ShellProc) посылай сообщение своему приложению:
PostMessage(MyProgHandle, WM_USER+111, wParam, lParam);
где MyProgHandle - дескриптор твоей программы, который должена знать данная DLL, для этого можно использовать файлы отображённые в память - если тебя ломает их использовать - посылай широковещательное сообщение = накладные расходы 8\
wParam, lParam - в них кладёшь то, что надо тебе, а надо тебе Handle созданного процесса 8)
А из своей проги (в процедуре обработки сообщения WM_USER+111) с помощью API извлекаешь Caption и всё, что душа пожелает из окошка, handle которого ты получил 8)
Понятно ?




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх






Память: 0.74 MB
Время: 0.016 c
1-94500           Arhangel              2002-04-16 19:04  2002.04.29  
Help!!


4-94639           Grim Rider            2002-02-20 13:20  2002.04.29  
Hook


1-94363           kserg@ukr.net         2002-04-17 12:04  2002.04.29  
Как в форме отловить нажатие VK_TAB ?


14-94573          DimaIv                2002-03-20 19:47  2002.04.29  
Что означает термин, структурное программирование?


1-94483           kmc                   2002-04-16 14:11  2002.04.29  
StringGrid, InplaceEdit, MaxLength