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

Вниз

Форма не обрабатывает сообщения, когда неактивна   Найти похожие ветки 

 
Se   (2005-12-14 08:06) [0]

Я сделал HOOK. При его загрузке передаю в него handle окна.
При нажатии кнопки, HOOK посылает в handle сообщение:
sendmessage(WinHandle,WM_USER+10,wParam,lParam);

В модуле окна прописана процедура:
procedure WMHook(var Message: TMessage); message WM_USER+10;

Когда окно активно все работает. Но если переключиться на что-то другое, то процедура не вызывается. Хотя HOOK работает (я ставил внутри хука оператор messagebox, там где вызывается sendmessage,  - при этом сообщение появляется в любом случае).
Основная программа написана на VCL.


 
Digitman ©   (2005-12-14 08:18) [1]


> то процедура не вызывается


на основании чего сделано такое умозаключение ?


 
Rouse_ ©   (2005-12-14 09:44) [2]

messagebox в хуке? Оригинально. Система еще не падала?


 
Leonid Troyanovsky ©   (2005-12-14 09:52) [3]


> Se   (14.12.05 08:06)  

> Когда окно активно все работает. Но если переключиться на
> что-то другое, то процедура не вызывается. Хотя HOOK работает


Если он и работает, то локально.
А для чего-то другого требуется глобальный хук (msdn go).
Кста, там, заоодно, познакомишься c  interprocess communication, т.е.
как передать данные другому процессу (т.е., своему хуку в
чужом процессе) и получить их от него.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2005-12-14 09:54) [4]


> Rouse_ ©   (14.12.05 09:44) [2]
> messagebox в хуке? Оригинально. Система еще не падала?


Если б она падала от MessageBox, то ее б и не стоило пользовать.

--
Regards, LVT.


 
Se   (2005-12-14 10:32) [5]

Ничего не падает. messagebox для отладки.
Передавать данные я хочу через sendmessage при этом форма должна получать данные в любом случае.


 
Rouse_ ©   (2005-12-14 10:45) [6]


> Если б она падала от MessageBox, то ее б и не стоило пользовать.

Хм, WH_DEBUG в хуке в библиотеке и при поступлении сообщения MessageBox... Сообщение по цепочке хуков до закрытия модальноко окна не должно быть передано и соответственно все стоит :)


 
VirEx ©   (2005-12-14 17:48) [7]

дык может поймать событие Application.OnIddle (вроде так называется)


 
Se   (2005-12-17 09:42) [8]

Не работает. Хотя я может не знаю как правильно использовать OnIddle.
В обработчике я написал PeekMessage.


 
Igor_thief   (2005-12-18 12:38) [9]

RegisterWindowMessage или CallBack функция.


 
Se   (2005-12-19 19:56) [10]

CallBack функция в основной программе ведет себя так же (не обрабатывается, когда форма не активна)



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

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

Наверх





Память: 0.46 MB
Время: 0.014 c
2-1140527301
Daria
2006-02-21 16:08
2006.03.12
пробелы


2-1140444833
veb
2006-02-20 17:13
2006.03.12
Русские вопросики на не русских виндах


11-1121302017
stals
2005-07-14 04:46
2006.03.12
exe-шник (? kb)


2-1140600957
iles
2006-02-22 12:35
2006.03.12
Не присваиваеться значение Элементу массива объектов Tedit


15-1139819794
msguns
2006-02-13 11:36
2006.03.12
Веб-дизайн. Инструмент.





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