Função MapVirtualKeyExW (winuser.h)
Converte (mapas) um código de chave virtual em um código de verificação ou valor de caractere ou converte um código de verificação em um código de chave virtual. A função converte os códigos usando o idioma de entrada e um identificador de localidade de entrada.
Sintaxe
UINT MapVirtualKeyExW(
[in] UINT uCode,
[in] UINT uMapType,
[in, out, optional] HKL dwhkl
);
Parâmetros
[in] uCode
Tipo: UINT
O código de chave virtual ou o código de verificação de uma chave. A maneira como esse valor é interpretado depende do valor do parâmetro
[in] uMapType
Tipo: UINT
A tradução a ser executada. O valor desse parâmetro depende do valor do parâmetro uCode.
Valor | Significado |
---|---|
MAPVK_VK_TO_VSC 0 |
O parâmetro uCode é um código de chave virtual e é convertido em um código de verificação. Se for um código de chave virtual que não distingue entre as teclas esquerda e direita, o código de verificação à esquerda será retornado. Se não houver tradução, a função retornará 0. |
MAPVK_VSC_TO_VK 1 |
O parâmetro uCode é um código de verificação e é convertido em um código de chave virtual que não distingue entre chaves esquerda e direita. Se não houver tradução, a função retornará 0. Windows Vista e posterior: o byte alto do uCode valor pode conter 0xe0 ou 0xe1 para especificar o código de verificação estendido. |
MAPVK_VK_TO_CHAR 2 |
O parâmetro uCode é um código de chave virtual e é convertido em um valor de caractere não improvisado na palavra de ordem baixa do valor retornado. Chaves mortas (diacríticos) são indicadas definindo o bit superior do valor retornado. Se não houver tradução, a função retornará 0. Consulte Comentários. |
MAPVK_VSC_TO_VK_EX 3 |
O parâmetro uCode é um código de verificação e é convertido em um código de chave virtual que distingue entre chaves à esquerda e à direita. Se não houver tradução, a função retornará 0. Windows Vista e posterior: o byte alto do uCode valor pode conter 0xe0 ou 0xe1 para especificar o código de verificação estendido. |
MAPVK_VK_TO_VSC_EX 4 |
[in, out, optional] dwhkl
Tipo: HKL
Identificador de localidade de entrada a ser usado para traduzir o código especificado. Esse parâmetro pode ser qualquer identificador de localidade de entrada retornado anteriormente pela função LoadKeyboardLayout.
Valor de retorno
Tipo: UINT
O valor retornado é um código de verificação, um código de chave virtual ou um valor de caractere, dependendo do valor de uCode e uMapType. Se não houver tradução, o valor retornado será zero.
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.
Um aplicativo pode usar MapVirtualKeyEx para traduzir códigos de verificação para as constantes de código de chave virtual VK_SHIFT, VK_CONTROLe VK_MENUe vice-versa. Essas traduções não distinguem entre as instâncias esquerda e direita das teclas SHIFT, CTRL ou ALT.
Um aplicativo pode obter o código de verificação correspondente à instância esquerda ou direita de uma dessas chaves chamando MapVirtualKeyEx com uCode definido como uma das seguintes constantes de código de chave virtual:
- VK_LSHIFT
- VK_RSHIFT
- VK_LCONTROL
- VK_RCONTROL
- VK_LMENU
- VK_RMENU
Essas constantes de distinção à esquerda e à direita estão disponíveis para um aplicativo somente por meio das funções GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKeye mapVirtualKeyEx. Para listar a tabela completa de códigos de chave virtual, consulte Códigos de Chave Virtual.
No modo MAPVK_VK_TO_CHARcódigos de chave virtual, o "A". As chaves Z' são traduzidas para "A" maiúsculas. Caracteres Z, independentemente do layout atual do teclado. Se você quiser traduzir um código de chave virtual para o caractere correspondente, use a função
Nota
O cabeçalho winuser.h define MapVirtualKeyEx 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
- GetKeyState
- GetKeyboardState
- GetSystemMetrics
- mapVirtualKey
- SetKeyboardState
- LoadKeyboardLayout
- de entrada do teclado
- Visão geral da entrada do teclado