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


Anmelden zum Antworten