È possibile utilizzare la funzione DestroyWindow per distruggere una finestra. In genere, un'applicazione invia il messaggio WM_CLOSE prima di distruggere una finestra, dando la finestra l'opportunità di richiedere all'utente per la conferma prima che la finestra è distrutta. Una finestra che include automaticamente un menu finestra riceve il messaggio WM_CLOSE quando l'utente seleziona Chiudi dal menu finestra. Se l'utente conferma che la finestra sarà distrutta, l'applicazione chiama DestroyWindow. Il sistema invia il messaggio WM_DESTROY alla finestra dopo averlo rimosso dallo schermo. In risposta a WM_DESTROY, la finestra Salva i suoi dati e libera le risorse che è allocato. Una finestra principale conclude l'elaborazione di WM_DESTROY chiamando la funzione PostQuitMessage, come descritto per chiudere l'applicazione.
Nell'esempio seguente viene illustrato come richiedere conferma utente prima di distruggere una finestra. In risposta a WM_CLOSE, l'esempio consente di visualizzare una finestra di dialogo che contiene i pulsanti Sì, OKe Annulla . Se l'utente fa clic su Sì, viene chiamato DestroyWindow ; in caso contrario, la finestra non viene distrutta. Perché la finestra viene distrutta è una finestra principale, nell'esempio viene chiamato PostQuitMessage, come descritto in risposta a WM_DESTROY.
caso WM_CLOSE: / / crea la finestra di messaggio. Se l'utente fa clic / / the Yes button, distruggere la finestra principale.
Se (MessageBox (hwnd, szConfirm, szAppName, MB_YESNOCANCEL) = = IDYES) DestroyWindow(hwndMain);
else return 0;
caso WM_DESTROY: / / Post il messaggio WM_QUIT / / quit termina l'applicazione.
PostQuitMessage(0);
restituire 0