"Globales" SendMessage()
-
Hallo,
ist es möglich, dass ich SendMessage() aufrufen kann und alle Fenster in meinem Programm die Nachricht erhalten?
-
In der MFC kannst du [msdn]SendMessageToDescendants[/msdn] verwenden, das schickt die Message (rekrusiv) an all Child-Fenster des angegebenen Fensters.
Für mehrere top level windows müßtest du also:
für jedes top level window
SendMessage(tlw[i])
SendMessageToDescendants(tlw[i])Aber ein paar Worte zur Warnung:
- du solltest das nur für registrierten Messages machen ([msdn]RegisterWindowMessage[/msdn])
- der Name für RegisterWindowMessage sollte einen GUID enthalten
- wenn in deiner Anwendung Fenster von verschiedenen Threads erzeugt werden, mußt du auf deadlocks achten
-
Danke für deine Antwort. Mit einem AfxGetMainWnd() funktioniert es perfekt