Akcelerator klawiatury (lub po prostu akcelerator) to naciśnięcie lub kombinacja naciśnięć, która generuje komunikat WM_COMMAND lub WM_SYSCOMMAND dla aplikacji.
Kopiuje określoną tabelę akceleratora. Ta funkcja służy do uzyskiwania danych tabeli akceleratora, które odpowiadają uchwytowi tabeli akceleratora lub określaniu rozmiaru danych tabeli akceleratora.
Przetwarza klucze akceleratora dla poleceń menu. Funkcja tłumaczy komunikat WM_KEYDOWN lub WM_SYSKEYDOWN na komunikat WM_COMMAND lub WM_SYSCOMMAND (jeśli istnieje wpis klucza w określonej tabeli akceleratora), a następnie wysyła komunikat WM_COMMAND lub WM_SYSCOMMAND bezpośrednio do określonej procedury okna.
translateAccelerator nie zostanie zwrócony, dopóki procedura okna nie przetworzyła komunikatu.
Wysyłane, gdy menu ma stać się aktywne. Występuje, gdy użytkownik kliknie element na pasku menu lub naciśnie menu. Dzięki temu aplikacja może zmodyfikować menu przed jego wyświetleniem. Okno odbiera ten komunikat za pośrednictwem funkcji WindowProc.
Wysyłane, gdy menu rozwijane lub podmenu ma stać się aktywne. Dzięki temu aplikacja może zmodyfikować menu przed jego wyświetleniem bez zmiany całego menu.
Wysyłane, gdy menu jest aktywne, a użytkownik naciska, który nie odpowiada żadnemu mnemonicowi lub akceleratora. Ta wiadomość jest wysyłana do okna, które jest właścicielem menu.
Opublikowany w oknie z fokusem klawiatury, gdy komunikat WM_SYSKEYDOWN jest tłumaczony przez funkcję TranslateMessage. Określa kod znaku klucza znakowego systemu, czyli znaku, który jest naciśnięty, podczas gdy ALT jest wyłączony.