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

Вниз

Перехват сообщений компонентом.   Найти похожие ветки 

 
Awod   (2004-07-26 20:47) [0]

Добрый день!
Есть невизуальный компонент наследник от TComponent. Как сделать так чтобы компонент обрабатывал сообщения системы?
Я предположил что можно создать невидимое окно и с его помощью отлавливать сообщения. В конструкторе компоненента я написал такой код:

begin
   FWndHandMessage := CreateWindow("static", "",
     WS_POPUP,0,0,0,0,0,0,0,nil);
   FClientInstance := Classes.MakeObjectInstance(ClientWndProc);
   FDefClientProc := Pointer(GetWindowLong(FWndHandMessage,GWL_WNDPROC));
   SetWindowLong(FWndHandMessage, GWL_WNDPROC, Longint(FClientInstance));
end;

Нно сообщения в ClientWndProc приходят лишь в случае если сообщение посылается лично этому окну (SendMessage(FWndHandMessage,1500,1,1);), а хотелось бы чтобы он обрабатывал и сообщения отправленней всем (SendMessage(HWND_BROADCAST,1500,1,1);).
Как это сделать?


 
Fay ©   (2004-07-26 21:49) [1]

BROADCAST приходит к Application. Там и лови.


 
Awod   (2004-07-27 09:13) [2]

А как сделать так чтобы сообщение приходило именно ко ВСЕМ компонентам (несколько приложений использующих один компонент должны обмениваться сообщениями, так чтобы это было не заметно для самого приложения)?


 
Игорь Шевченко ©   (2004-07-27 11:09) [3]


> Как сделать так чтобы компонент обрабатывал сообщения системы?


А смысл ?



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
6-1089095767
andrey__
2004-07-06 10:36
2004.09.12
RasApi - запуск удал. подключ. из TServiceApplication


14-1093038462
Dio
2004-08-21 01:47
2004.09.12
CD-R


6-1089289830
s_ser
2004-07-08 16:30
2004.09.12
Выполнение команд в консоли (для Linuxa)


1-1093417806
Рамиль
2004-08-25 11:10
2004.09.12
Перехват максимизации окна


14-1093343366
elected
2004-08-24 14:29
2004.09.12
Ищу работу программистом (удаленно)