Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.29;
Скачать: CL | DM;

Вниз

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)
Понятно ?



Страницы: 1 вся ветка

Текущий архив: 2002.04.29;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
14-94549
Nest
2002-03-21 14:42
2002.04.29
Как сделать недоступными некоторые items в TListBox? Или есть другой компонент с такой фичей?


14-94565
Capo
2002-03-24 18:57
2002.04.29
mail via SMTP


1-94381
Каспер
2002-04-17 09:19
2002.04.29
TReeView мигание!


1-94394
SPeller
2002-04-16 11:59
2002.04.29
Асинхронные процедуры


6-94524
Юра
2002-02-16 18:11
2002.04.29
Учет трафика Инета в локалке (WinProxy) для каждого компа