Акжан в сети - На уровень вверх(API) Как послать самостийное сообщение всем главным окнам в Windows?

Пример:

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.

Andrey Burov

(2:463/238.19)