WM_Close klappt manchmal/manchmal nicht



  • Ich versuche so ein Fenster zu schließen:

    PostMessage (a,WM_CLOSE, 0, 0);
    

    Ich ermittel den Handle via "FindWindow",lasse dann den Handle in a schreiben.
    Der Handle des Fensters stimmt.
    Nur leider wird nur manchmal das Fenster geschlossen nicht immer.
    Was ist den jetzt an dieser Code Zeile verkehrt?



  • Nimm statt PostMessage (a,WM_CLOSE,0,0) lieber SendMessage (a,WM_CLOSE,0,0).
    Im Gegensatz zu PostMessage () kehrt SendMessage () erst zurück, wenn das Fenster die Botschaft auch verarbeitet hat.
    🙂



  • du könntest eventuell auch WM_QUIT oder WM_DESTROY versuchen, und wie merker schon geschrieben hat, verwende sendmessage()

    mfg



  • SendMessage birgt aber auch das Gefahrenpotential, das wenn die andere Anwendung hängt, tut Deine das auch. Evtl. mal mit SendMessage, WM_SYSCOMMAND und SC_CLOSE probiert?


Anmelden zum Antworten