Compartilhar via


Função VkKeyScanA (winuser.h)

[Essa função foi substituída pela função VkKeyScanEx . No entanto, você ainda pode usar o VkKeyScan se não precisar especificar um layout de teclado.]

Converte um caractere para o código de tecla virtual correspondente e o estado de deslocamento para o teclado atual.

Sintaxe

SHORT VkKeyScanA(
  [in] CHAR ch
);

Parâmetros

[in] ch

Tipo: TCHAR

O caractere a ser convertido em um código de chave virtual.

Retornar valor

Tipo: SHORT

Se a função for bem-sucedida, o byte de baixa ordem do valor retornado conterá o código de chave virtual e o byte de alta ordem conterá o estado shift, que pode ser uma combinação dos bits de sinalizador a seguir.

Valor retornado Descrição
1
Qualquer tecla SHIFT é pressionada.
2
Qualquer tecla CTRL é pressionada.
4
Qualquer tecla ALT é pressionada.
8
A tecla Hankaku é pressionada
16
Reservado (definido pelo driver de layout do teclado).
32
Reservado (definido pelo driver de layout do teclado).
 

Se a função não encontrar nenhuma chave que se traduza para o código de caractere passado, os bytes de ordem baixa e alta ordem contêm –1.

Comentários

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 por meio de VK_DIVIDE) são ignoradas. Essa função destina-se a converter caracteres em pressionamentos de tecla somente da seção de teclado main. Por exemplo, o caractere "7" é convertido em VK_7, não em VK_NUMPAD7.

VkKeyScan é usado por aplicativos que enviam caracteres usando as mensagens WM_KEYUP e WM_KEYDOWN .

Observação

O cabeçalho winuser.h define VkKeyScan como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também