Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Вниз

Отловить 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 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.011 c
3-81597
nortsov
2003-07-29 13:58
2003.08.25
firebird & TQuery


14-81931
Всеволод СоловьЁв
2003-08-06 21:50
2003.08.25
Очередное предложение по организации форума


4-82007
Jao
2003-06-18 16:24
2003.08.25
Как можно узнать хендл приложения, который весит в трее?


7-81991
agentru
2003-06-05 23:42
2003.08.25
Смена заголовка файла!


3-81539
ghost_by
2003-07-31 13:54
2003.08.25
Обновление записи в TIBQuaery





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский