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