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

Вниз

Получение Broadcast сообщений   Найти похожие ветки 

 
Burmistroff   (2002-06-15 15:24) [0]

Добрый день. Подскажите пожалуйста, как правильно принимать сообщения HWND_BROADCAST?
Я делаю так:

...
protected
procedure DefaultHandler(var Message); override;
...
var
WM_MY: DWORD;
...

function mApp(var Message: TMessage): integer;
begin
windows.Beep(500, 500);
message.Result:=3;
end;

procedure TForm1.DefaultHandler(var Message);
begin
with TMessage(Message) do
begin
if msg=WM_MY then mApp(TMessage(Message)) else
inherited DefaultHandler(Message);
end;
end;

initialization
WM_MY:=RegisterWindowMessage("MReady");
end.


т.е. по идее, результат должен быть = 3, но он почему-то всегда = 1
вот как я отправляю сообщение (из другой программы):


procedure TForm1.Button1Click(Sender: TObject);
var
wm_my, i: integer;
begin
wm_my:=RegisterWindowMessage("MReady");
i:=SendMessage(HWND_BROADCAST, WM_MY, 77, 2); //i всегда равно 1
messagebox(0, pchar(inttostr(i)), "Capt", MB_YESNO);
end;

Так как же все таки правильно принять и обработать широковещательное сообщение?


 
Alexander Vorobyov   (2002-06-17 10:36) [1]

Попробуй использовать ReplyMessage(3) для возврата значения 3.



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

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

Наверх




Память: 0.46 MB
Время: 0.01 c
1-60682
Edvin
2002-08-05 17:01
2002.08.19
Кириллица в Corel+Delphi


7-60863
Timon
2002-06-03 14:28
2002.08.19
Свободная память


1-60578
anod
2002-08-07 00:40
2002.08.19
Скин


1-60630
andreyz
2002-08-06 05:13
2002.08.19
Иконки в гриде


14-60849
OlegatoR
2002-07-25 10:11
2002.08.19
На наш астероид летит 6500 километровая планета