Как послать самостийное сообщение всем главным окнам в 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.


Далее: Как сделать главную форму полностью невидимой »»