MFC-Anwendung schließen



  • Hallo!

    Ich möchte eine MFC-Anwendung von einer beliebigen Stelle im Programm aus schließen.
    Wie geht das?

    Mit besten Grüßen, Lothar.



  • AfxGetMainWnd()->PostMessage(WM_CLOSE);
    

    Gruß
    :: NoName ::



  • Hallo NoName!
    Danke, im Normalfall klappt es.
    Allerdings muss man warten bis sich das Hauptfenster geöffnet hat.

    In meinen Fall nutzt dies allerdings auch nichts, da die Anwendung als
    COM-Objekt läuft und von einer anderen Anwendung aus aufgerufen wird.
    Hier muss diese übergeordnete Anwendung eine Message erhalten, damit es
    das COM-Objekt schließt.

    Beste Grüßen, Lothar.



  • ...->SendMessage(WM_CLOSE);
    


  • Also, wenn ich das richtig verstanden habe hast du eine MFC Anwendung und ein COM-Objekt. Und du möchtest mit Hilfe der MFC Anwendung das COM-Objekt schließen. Hmm, ich bin mir nicht sicher, da ich mich nicht mit COM auskenne, aber könnte man nicht FindWindow verwenden und dann eine WM_CLOSE Nachricht an das COM-Objekt schicken 😕

    Gruß
    :: NoName ::



  • Hallo a!
    Ob SendMessage oder PostMessage macht in dem vorliegenden Fall keinen Unterschied. Im Unterschied zu SendMesage wartet das Programm nach Absenden der Message nicht auf deren Abarbeitung.

    Gruß, L.

    Hallo NoName!
    Deine Idee klingt gut.
    Ich benutze jedoch ein COM-Objekt, welches mir eine Methode zur Verfügung stellt, mit der ich das aufrufende Programm darum bitten kann, das COM-Objekt zu schließen.

    Gruß, L.

    ...und Danke Euch beiden.


Anmelden zum Antworten