Função VkKeyScanExA (winuser.h)
Converte um caractere para o código de chave virtual correspondente e o estado de deslocamento. A função converte o caractere usando a linguagem de entrada e o layout do teclado físico identificados pelo identificador de localidade de entrada.
Sintaxe
SHORT VkKeyScanExA(
[in] CHAR ch,
[in] HKL dwhkl
);
Parâmetros
[in] ch
Tipo: TCHAR
O caractere a ser convertido em um código de chave virtual.
[in] dwhkl
Tipo: HKL
Identificador de localidade de entrada usado para traduzir o caractere. Esse parâmetro pode ser qualquer identificador de localidade de entrada retornado anteriormente pela função LoadKeyboardLayout.
Valor de retorno
Tipo: short
Se a função for bem-sucedida, o byte de ordem baixa do valor retornado conterá o código de chave virtual e o byte de alta ordem conterá o estado de deslocamento, que pode ser uma combinação dos bits de sinalizador a seguir.
Valor de retorno | Descrição |
---|---|
|
Qualquer tecla SHIFT é pressionada. |
|
Qualquer tecla CTRL é pressionada. |
|
Qualquer tecla ALT é pressionada. |
|
A tecla Hankaku é pressionada |
|
Reservado (definido pelo driver de layout do teclado). |
|
Reservado (definido pelo driver de layout do teclado). |
Se a função não encontrar nenhuma chave que se traduza no código de caractere passado, os bytes de ordem baixa e alta ordem contêm –1.
Observações
O identificador de localidade de entrada é um conceito mais amplo do que um layout de teclado, pois também pode abranger um conversor de fala em texto, um IME (Editor de Método de Entrada) ou qualquer outra forma de entrada.
Para layouts de teclado que usam a tecla ALT à direita como uma tecla de deslocamento (por exemplo, o layout do teclado francês), o estado de deslocamento é representado pelo valor 6, pois a tecla ALT à direita é convertida internamente em CTRL+ALT.
As traduções para o teclado numérico (VK_NUMPAD0 até VK_DIVIDE) são ignoradas. Essa função destina-se a converter caracteres em pressionamentos de tecla somente da seção do teclado principal. Por exemplo, o caractere "7" é convertido em VK_7, não em VK_NUMPAD7.
VkKeyScanEx é usado por aplicativos que enviam caracteres usando as mensagens WM_KEYUP e WM_KEYDOWN.
Nota
O cabeçalho winuser.h define VkKeyScanEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winuser.h (inclua Windows.h) |
biblioteca | User32.lib |
de DLL |
User32.dll |
Consulte também
- GetAsyncKeyState
- GetKeyNameText
- GetKeyState
- GetKeyboardState
- LoadKeyboardLayout
- SetKeyboardState
- ToAsciiEx
- de entrada do teclado