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

Вниз

Отловить PopUp   Найти похожие ветки 

 
Mortal ©   (2003-06-22 18:10) [0]

Уважаемые мастера, помогите решить проблему:
мне нужно отлавливать появление всех окон в системе. Я поставил хук WH_CBT, код - HCBT_ACTIVATE, но он не ловит активацию PopUp"ов. HCBT_CREATEWND ловит всё, но проблема в том, что мне нужно ловить не собирающееся создаться, а уже созданное окно.
Может есть другие способы? Помогите пожалуйста! Очень надо!
Заранее спасибо.


 
Song ©   (2003-06-22 20:44) [1]

>>Я поставил хук WH_CBT, код - HCBT_ACTIVATE, но он не ловит активацию PopUp"ов.
Не верю. Напиши код.


 
Mortal ©   (2003-06-23 16:33) [2]

.........
//основная CallBack-функция хука
Function WindowHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;
Begin
if code < 0 then
begin
Result:= CallNextHookEx(ShareInfoW^.AppWndHandle, Code, ParamW, ParamL);
Exit;
end;
if (code =HCBT_ACTIVATE) then
Begin
//передаем информацию полученую хуком в главное приложение
SendMessage(ShareInfoW^.AppWndHandle, WM_USER, ParamW, Paraml);
End;
//вызывается следующий хук в цепочке
Result := CallNextHookEx(ShareInfoW^.OldHookHandle, Code, ParamW, ParamL)
End;

//установка хука
Function SetWindowHook(Wnd: HWND): BOOL; stdcall;
Begin
If ShareInfoW<>Nil Then
Begin
//записываем в расшареную память хендл окна главного приложения,
//куда будут отправляться даные, отловленые хуком
ShareInfoW^.AppWndHandle:=Wnd;
//собственно установка хука и сообщение результата установки
ShareInfoW^.OldHookHandle:=SetWindowsHookEx(WH_CBT, @WindowHook, HInstance, 0);
Result:=ShareInfoW^.OldHookHandle<>0;
End
Else Result:=False
End;

.........



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
1-81745
Chlavik
2003-08-08 19:16
2003.08.25
Быстрый цикл на асме


1-81765
Жук
2003-08-14 11:55
2003.08.25
Координаты PopupMenu


14-81911
vopros
2003-08-07 14:29
2003.08.25
Люди помогите c Indy.Надо файл-вложения сделать.


3-81583
sashag
2003-07-30 09:38
2003.08.25
Ошибка при добавлении записи в таблицу Interbase


1-81609
kostya_iz_angren
2003-08-13 08:34
2003.08.25
Использовать компонент, не установленный в Delphi