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

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: 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.

{/codecitation}

Добавить комментарий