O procedură de fereastra este o funcție care primește și prelucrează toate mesajele trimise la fereastra. Fiecare clasă de Ferestre are o procedură fereastra, și fiecare fereastră create cu clasa utilizează că aceea?i procedură fereastra pentru a răspunde la mesaje.
Sistemul trimite un mesaj la o procedură de fereastra prin care trece date mesaj ca argumente în procedura. Procedura fereastra apoi efectuează o acțiune corespunzătoare pentru mesaj; se verifică identificatorul mesaj și, în timp ce mesajul de prelucrare, utilizează informațiile specificate de parametrii de mesaj.
O procedură de fereastra nu ignoră obicei un mesaj. În cazul în care acesta nu a procesat un mesaj, acesta trebuie să trimită mesajul înapoi la sistemul de prelucrare implicit. Procedura fereastra face acest lucru prin apel la funcția de DefWindowProc , care efectuează o ac?iune implicită și returnează un rezultat de mesaj. Procedura fereastra trebuie să întoarcă apoi această valoare ca rezultat propriul mesaj. Cele mai multe proceduri de fereastra procesul de doar câteva mesaje și altele la sistemul trece prin apelarea DefWindowProc.
Deoarece o procedură fereastra este partajat de toate ferestrele care fac parte din aceea?i clasă, acesta poate procesa mesaje pentru mai multe ferestre diferite. Identificarea ferestrei de specifice afectate de mesaj, o procedură de fereastră poate examina ghidajul de fereastră cu un mesaj. Pentru mai multe informații despre fereastra procedurilor, a se vedea Fereastra procedurile.