Procedury okno okno, w którym nie ma fokusu klawiatury odbiera wiadomości klawiszy, gdy użytkownik wpisze za pomocą klawiatury. Wiadomości klawiszy są WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWNi WM_SYSKEYUP. Procedura typowe okno ignoruje wszystkie wiadomości klawiszy z wyjątkiem WM_KEYDOWN. System zaksięguje komunikat WM_KEYDOWN, kiedy użytkownik naciśnie klawisz.
Podczas procedury okna odbierze komunikat WM_KEYDOWN, należy zbadać kod klucza wirtualnego, który towarzyszy komunikatu, aby określić sposób przetwarzania klawiszy. Kod klucza wirtualnego jest w parametrze wParam wiadomości. Zazwyczaj aplikacja przetwarza tylko naciśnięcia klawiszy generowanych przez klucze-znakowy, włączając klawisze funkcyjne, klawisze przemieszczania kursora i klawiszy specjalnego przeznaczenia, takich jak dodatki, del, domu i zakończenia.
Poniższy przykład przedstawia ramy procedury okna że Typowa aplikacja używa odbierać i przetwarzać komunikaty klawiszy.
sprawa WM_KEYDOWN: przełącznik (wParam) {Sprawa VK_LEFT: / / procesu klawisz Strzałka w lewo.
podział;
Sprawa VK_RIGHT: / / procesu klawisz Strzałka w prawo.
podział;
Sprawa VK_UP: / / procesu Strzałka w górę.
podział;
Sprawa VK_DOWN: / / procesu Strzałka w dół.
podział;
Sprawa VK_HOME: / / procesu klawisza HOME.
podział;
Sprawa VK_END: / / procesu klawisz END.
podział;
Sprawa VK_INSERT: / / procesu klawisz INS.
podział;
Sprawa VK_DELETE: / / procesu klawisz DEL.
podział;
Sprawa VK_F2: / / procesu klawisz F2.
podział;
/ / Procesu innych klawiszy bez znaku.
Domyślnie: podział;
}