Función MapVirtualKeyExA (winuser.h)
Traduce (asigna) un código de tecla virtual a un código de tecla o un valor de carácter, o bien traduce un código de tecla a un código de tecla virtual. La función traduce los códigos usando el idioma de entrada y un identificador de la 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 el código de examen 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 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 traducción, la función devuelve 0. Windows Vista y versiones posteriores: el byte alto del valor uCode 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 cambios 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 traducción, la función devuelve 0. Vea la sección 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 de izquierda y derecha. Si no hay traducción, la función devuelve 0. Windows Vista y versiones posteriores: el byte alto del valor uCode 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 traducción, la función devuelve 0. |
[in, out, optional] dwhkl
Tipo: HKL
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 traducción, el valor devuelto es cero.
Comentarios
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 método de entrada Editor (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_CONTROL y 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 mediante una llamada a MapVirtualKeyEx con uCode establecido 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 izquierda y derecha solo están disponibles para una aplicación a través de las funciones GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKey y MapVirtualKeyEx . Para obtener una tabla completa de códigos de clave virtual, consulte Códigos de clave virtual.
En MAPVK_VK_TO_CHARcódigos de clave virtual en modo , "A". Las claves Z' se traducen en mayúsculas "A". Caracteres Z, independientemente del diseño del teclado actual. 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 Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |