Fenster im Thread schließen
-
Hallo,
Ich möchte in einem Thread ein Fenster schließen. Allerdings kann ich in dem neue erstellten Thread das Fenster des Ersteller Threads nicht schließen. Ich bekomme immer den WinApi Fehler "Fehler 5: Zugriff verweigert". Wie kann ich das Fenster nun schließen?
Ich erstelle den Thread mit _beginthread:
iter->hThread = (HANDLE) _beginthread(NetworkThread, 1024,0);
-
So ich habe jetzt nochmal ein bisschen recherchiert. Ich versuche das Fenster mit DestroyWindow() zu schließen.
In der MSDN steht aber
Do not use DestroyWindow in one thread to destroy a window created by a different thread.
Ich habe jetzt versucht mit Hilfe der Funktionen PostMessage() und SendMessage() die Nachricht WM_DESTROY an das betreffende Fenster zu senden. Doch leider funktioniert das auch nicht. WinApi meldet auch keine Fehler.
Anmerkung: Das HWND ist auf jeden Fall gültig, SetWindowText() oder ähnlich funktioniert einwandfrei.
-
Hmm, nach vielem Probieren geht es jetzt.
Die Kombination PostMessage(hwnd, WM_DESTROY, 0,0); + eigene Behandlung für WM_DESTROY in der WndProc geht. Lustigerweise geht es mit der Std. Nachrichtenbehandlung von Windows nicht.