скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



Автор: Nomadic

"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.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook