Compartir a través de


Función MapVirtualKeyA (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.

Sintaxis

UINT MapVirtualKeyA(
  [in] UINT uCode,
  [in] UINT uMapType
);

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.

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

Para especificar un identificador para el diseño del teclado que se va a usar para traducir el código especificado, use la función mapVirtualKeyEx .

Una aplicación puede usar MapVirtualKey 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 MapVirtualKey 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 MapVirtualKey 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