Советы по Delphi

         

Как послать самостийное сообщение всем главным окнам в Windows?


Nomadic советует:

Пример:

    Var
FM_FINDPHOTO: Integer;
// Для того, чтобы использовать hwnd_Broadcast нужно сперва зарегистрировать уникальное
// сообщение.

Initialization
FM_FindPhoto:=RegisterWindowMessage('MyMessageToAll');


// Чтобы поймать это сообщение в другом приложении (приёмнике) нужно перекрыть DefaultHandler
procedure TForm1.DefaultHandler(var Message);
begin
with
TMessage(Message) do begin if Msg = Fm_FindPhoto then MyHandler(WPARAM,LPARAM)  else Inherited DefaultHandler(Message); end; end;

// А теперь можно в приложении-передатчике
SendMessage(HWND_BROADCAST,FM_FINDPHOTO,0,0);

Кстати, для посылки сообщения дочерним контролам некоего контрола можно использовать метод Broadcast. [001133]



Содержание раздела