O procedură de fereastra primește un mesaj de caractere atunci când funcția de TranslateMessage se traduce un virtual-cheie code corespunde o cheie de caractere. Mesajele de caractere sunt WM_CHAR, WM_DEADCHAR, WM_SYSCHARși WM_SYSDEADCHAR. O procedură de fereastra tipic ignoră toate mesajele de caractere, cu excepția WM_CHAR. Funcția TranslateMessage generează un mesaj de WM_CHAR atunci când utilizatorul apasă oricare din următoarele chei:
Atunci când o procedură fereastra primește mesajul WM_CHAR , acesta ar trebui să examineze codul de caracter care însoțește mesajului pentru a determina cum să prelucreze caracterul. Codul de caracter este în mesajului wParam parametru.
Următorul exemplu arată cadrul procedura fereastra care utilizează o aplicație tipică pentru a primi și procesul de caracter mesaje.
wM_CHAR de caz: switch (wParam) {caz 0x08: / / procesa un backspace.
pauză;
caz 0x0A: / / procesa o linefeed.
pauză;
caz 0x1B: / / procesa o evadare.
pauză;
caz 0x09: / / procesa o filă.
pauză;
caz 0x0D: / / procesa un retur de car.
pauză;
implicit: / / procesa afișabil caractere.
pauză;
}