Compartilhar via


Função VkKeyScanA (winuser.h)

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

Converte um caractere para o código de chave 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.

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
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 no código de caractere passado, os bytes de ordem baixa e alta ordem contêm –1.

Observações

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.

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

Nota

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 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