2 Stimmen

Windows Explorer empfängt kein WM_DESTROY. Wie kann ich erkennen, wenn der Benutzer sein Explorer-Fenster geschlossen hat?

Ich schreibe ein Programm, das erkennen muss, wenn Fenster geschlossen werden. Derzeit verwende ich SetWindowsHookEx, um einen Hook zu registrieren, der Fenstermeldungen überwacht.

Ich überwache WM_DESTROY-Ereignisse, um herauszufinden, wann Fenster zerstört wurden. Dies funktioniert gut für die meisten Fenster, wobei der Windows Explorer eine bemerkenswerte Ausnahme darstellt. Der Windows Explorer scheint kein WM_DESTROY-Ereignis zu erhalten, wenn er beendet wird (er erhält jedoch die meisten anderen interessanten Ereignisse).

Gibt es einen Grund, warum der Windows Explorer kein WM_DESTROY erhält?

Noch wichtiger ist, ob es eine alternative Methode gibt, um zu erkennen, wann der Windows Explorer beendet wird, außer auf WM_DESTROY zu hören?

Danke!

Ich benutze Windows 7 (nicht sicher, wie relevant diese Information ist)

2voto

Remy Lebeau Punkte 498719

Verwenden Sie anstelle eines Nachrichtenhakens einen WH_CBT -Hook und lassen Sie ihn HCBT_DESTROYWND-Benachrichtigungen verarbeiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X