Función MapVirtualKeyExA (winuser.h)
Convierte (asigna) un código de clave virtual en un valor de carácter o código de examen, o convierte un código de examen en un código de clave virtual. La función traduce los códigos mediante el idioma de entrada y un identificador de configuración regional de entrada.
Sintaxis
UINT MapVirtualKeyExA(
[in] UINT uCode,
[in] UINT uMapType,
[in, out, optional] HKL dwhkl
);
Parámetros
[in] uCode
Tipo: UINT
El código de clave virtual o examina el código de una clave. El modo en que se interpreta este valor depende del valor del parámetro uMapType.
[in] uMapType
Tipo: UINT
Traducción que se va a realizar. El valor de este parámetro depende del valor del parámetro uCode.
Valor | Significado |
---|---|
MAPVK_VK_TO_VSC 0 |
El parámetro uCode es un código de clave virtual y se traduce en un código de examen. Si es un código de clave virtual que no distingue entre las teclas izquierda y derecha, se devuelve el código de examen izquierdo. Si no hay ninguna traducción, la función devuelve 0. |
MAPVK_VSC_TO_VK 1 |
El parámetro uCode es un código de examen y se traduce en un código de clave virtual que no distingue entre las teclas izquierda y derecha. Si no hay ninguna traducción, la función devuelve 0. Windows Vista y versiones posteriores: el byte alto del uCode valor puede contener 0xe0 o 0xe1 para especificar el código de examen extendido. |
MAPVK_VK_TO_CHAR 2 |
El parámetro uCode es un código de clave virtual y se traduce en un valor de carácter sin desplazamiento en la palabra de orden bajo del valor devuelto. Las claves inactivas (diacríticos) se indican estableciendo el bit superior del valor devuelto. Si no hay ninguna traducción, la función devuelve 0. Vea comentarios. |
MAPVK_VSC_TO_VK_EX 3 |
El parámetro uCode es un código de examen y se traduce en un código de clave virtual que distingue entre las claves izquierda y derecha. Si no hay ninguna traducción, la función devuelve 0. Windows Vista y versiones posteriores: el byte alto del uCode valor puede contener 0xe0 o 0xe1 para especificar el código de examen extendido. |
MAPVK_VK_TO_VSC_EX 4 |
Windows Vista y versiones posteriores: El parámetro uCode es un código de clave virtual y se traduce en un código de examen. Si es un código de clave virtual que no distingue entre las teclas izquierda y derecha, se devuelve el código de examen izquierdo. Si el código de examen es un código de examen extendido, el byte alto del valor devuelto contendrá 0xe0 o 0xe1 para especificar el código de examen extendido. Si no hay ninguna traducción, la función devuelve 0. |
[in, out, optional] dwhkl
Tipo: HKL de
Identificador de configuración regional de entrada que se va a usar para traducir el código especificado. Este parámetro puede ser cualquier identificador de configuración regional de entrada devuelto anteriormente por la función LoadKeyboardLayout.
Valor devuelto
Tipo: UINT
El valor devuelto es un código de examen, un código de clave virtual o un valor de carácter, según el valor de uCode y uMapType. Si no hay ninguna traducción, el valor devuelto es cero.
Observaciones
El identificador de configuración regional de entrada es un concepto más amplio que un diseño de teclado, ya que también puede abarcar un convertidor de voz a texto, un Editor de métodos de entrada (IME) o cualquier otra forma de entrada.
Una aplicación puede usar MapVirtualKeyEx para traducir códigos de examen a las constantes de código de clave virtual VK_SHIFT, VK_CONTROLy VK_MENU, y viceversa. Estas traducciones no distinguen entre las instancias izquierda y derecha de las teclas MAYÚS, CTRL o ALT.
Una aplicación puede obtener el código de examen correspondiente a la instancia izquierda o derecha de una de estas claves llamando a MapVirtualKeyEx con uCode establecer en una de las siguientes constantes de código de clave virtual:
- VK_LSHIFT
- VK_RSHIFT
- VK_LCONTROL
- VK_RCONTROL
- VK_LMENU
- VK_RMENU
Estas constantes de distinción izquierda y derecha solo están disponibles para una aplicación a través de las GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKeyy funciones MapVirtualKeyEx. Para obtener una tabla completa de códigos de clave virtual, consulte Códigos de clave virtual.
En el modo MAPVK_VK_TO_CHARcódigos de clave virtual, "A". Las claves Z' se traducen a mayúsculas "A". Caracteres Z, independientemente del diseño actual del teclado. Si desea traducir un código de clave virtual al carácter correspondiente, use la función ToAscii.
Nota
El encabezado winuser.h define MapVirtualKeyEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winuser.h (incluya Windows.h) |
biblioteca de |
User32.lib |
DLL de |
User32.dll |
Consulte también
- GetAsyncKeyState
- GetKeyState
- GetKeyboardState
- GetSystemMetrics
- MapVirtualKey
- SetKeyboardState
- LoadKeyboardLayout
- entrada de teclado
- introducción a la entrada del teclado