Naciśnięcie klawisza komunikaty zawierają wiele informacji na temat naciśnięcia klawiszy, ale nie dostarczają kody znaków klawiszy znaków. Aby pobrać kody znaków, aplikacja musi zawierać funkcji TranslateMessage w jego Pętla wiadomości wątku. TranslateMessage przekazuje wiadomość WM_KEYDOWN lub WM_SYSKEYDOWN do układu klawiatury. Układ analizuje kod klucza wirtualnego wiadomości i, jeżeli odpowiada kluczowi znaków, zapewnia równoważny kod znaku (biorąc pod uwagę stan klawiszy blokowania shift, caps). Następnie zostanie wygenerowany komunikat znaków, który zawiera kod znaku i umieści wiadomość w górnej części kolejki wiadomości. Następnej iteracji pętli komunikatów usuwa wiadomość znaków z kolejki i wysyła wiadomość do procedury odpowiedniego okna.