Вниз
Скачать: CL | DM;

RegisterWindowMessage   Найти похожие ветки 

 
Talla2k ©   (2004-02-16 22:55) [0]

Предположим в двух программах имеется следующий код uu:=RegisterWindowMessage("Lamer").
Соответственно,одна из программ передает сообщение так
SendMessage(findwindow("Lamerclass","LAMO"),uu,0,0);

Ну а теперь собственно вопрос:
как написать обработчик на посылаемое сообщение,т.е. нужно предположим узнать что-же прислала другая программа?
Т.е. значения WParam и LParam?

З.Ы. Как работать с пользовательскими сообщениями,я знаю!
const  _mymessage = wm_user+80;
..
private
 procedure MyMessage(var Msg:TMessage);message _mymessage;
..
procedure TForm1.MyMessage(var Msg:TMessage);
begin
label1.caption:=inttostr(Msg.Lparam);
Label2.caption:=inttostr(Msg.Wparam);
end;

А вот из этого переделать для RegisterWindowMessage не получается.


 
Almaz ©   (2004-02-17 00:40) [1]


> А вот из этого переделать для RegisterWindowMessage не получается.

А из этого и не получится, для случая с RegisterWindowMessage придется перекрыть оконную функцию формы. Что вроде:


type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
   ...
 private
   procedure WndProc(var Message: TMessage); override;
   ...
 end;

...

var
 WM_MYUSERMESSAGE: Cardinal;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
 WM_MYUSERMESSAGE := RegisterWindowMessage("MyMessage");
 ...
end;

procedure TForm1.WndProc(var Message: TMessage);
begin
 if Message.Msg = WM_MYUSERMESSAGE then
 begin
   ... Обработчик сообщения ...
 end else
   inherited WndProc(Message);
end;


Удачи.


 
Talla2k ©   (2004-02-17 00:55) [2]

Спасибо!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
9-1067545000
Hecz
2003-10-30 23:16
2004.04.25
Игра Крестики- нолики


3-1080798595
-+= Evgeney =+-
2004-04-01 09:49
2004.04.25
Запрос SQL


1-1081253021
WondeRu
2004-04-06 16:03
2004.04.25
XML & RPC


1-1081330815
bhy
2004-04-07 13:40
2004.04.25
Как скрыть приложение с панели задач.


4-1076838918
Viktor Kushnir
2004-02-15 12:55
2004.04.25
Как загрузить через CreateProcess ярлык (*.lnk)




   Наверх