Para processar aceleradores, um aplicativo (ou do thread) executar um loop mensagem deve conter uma chamada para o TranslateAccelerator função. TranslateAccelerator compara pressionamentos de teclas para uma tabela de teclas aceleradoras e, se ele encontrar uma correspondência, converte os pressionamentos de tecla em uma mensagem de WM_COMMAND (ou WM_SYSCOMMAND). A função, em seguida, envia a mensagem para um procedimento janela. Os parâmetros da função TranslateAccelerator incluem o identificador para a janela que receberá as mensagens WM_COMMAND, o identificador para o tabela de teclas aceleradoras usado para traduzir aceleradores e um ponteiro para um MSG estrutura que contém uma mensagem da fila. O exemplo a seguir mostra como chamar TranslateAccelerator de dentro de um loop de mensagem.
ao mesmo tempo (GetMessage (amp; msg, (HWND) NULL, 0, 0)) {/ / cheque para pressionamentos de tecla aceleradora.
if (!.TranslateAccelerator (hwndMain, / / identificador para receber janela haccel, / / identificador para o tabela de teclas aceleradoras ativo & msg)) / / endereço de mensagem dados {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}