Fremdes Menü fernsteuern: Probleme mit Popup Windows



  • Hallo,

    ich benutze gerade die Windows API um das Menü einer Anwendung "fernzusteuern". Das mache ich folgendermaßen:

    SendMessage(hwnd, WM_COMMAND, menu_item_id, 0);
    

    Das funktioniert auch, mit der richtigen item id kann ich so jeden Menüpunkt mit meinem Programm ansteuern.

    Nur gibt es jetzt scheinbar ein Problem, wenn der ausgewählte Menüpunkt ein Popup Window öffnet. Dann nämlich friert die Fremdanwendung komplett ein und reagiert auf nichts mehr bis ich mein Programm beende.

    Ich vermute ja dass das irgendwie damit zusammenhängt dass ein Popup Window verbietet das darunter liegende Fenster anzuwählen, weiß aber nicht wie ich das Problem einfach lösen kann... Kann mir hier vielleicht jemand weiterhelfen?

    Schöne Grüße,
    hs



  • Scheint so, als würde das Popupwindow das Fenster mit EnableWindow(GetParent(hwnd), false); deaktivieren. Es ist danach nicht mehr bereit auf Eingaben / Nachrichten zu reagieren, bis es wieder aktiviert wird, was das Popupwindow beim Schließen tut. Entweder du fragst vorher mit IsWindowEnabled nach ob es ok ist oder du schließt das Popupwindow. Oder du benutzt selbst EnableWindow(hwnd, true);, was zu komischem Verhalten führen wird.



  • nwp3 schrieb:

    Entweder du fragst vorher mit IsWindowEnabled nach ob es ok ist oder du schließt das Popupwindow.

    Wie meinst du das? Sobald das Popup Window einmal geöffnet wurde, kann ich es nicht mehr schließen da die Ganze Anwendung komplett einfriert (Popup window inklusive).


Anmelden zum Antworten