Función VkKeyScanW (winuser.h)

[Esta función se ha reemplazado por la función VkKeyScanEx . Sin embargo, puede usar VkKeyScan si no necesita especificar un diseño de teclado.

Traduce un carácter al código de tecla virtual y el estado de cambio correspondientes para el teclado actual.

Sintaxis

SHORT VkKeyScanW(
  [in] WCHAR ch
);

Parámetros

[in] ch

Tipo: TCHAR

Carácter que se va a traducir en un código de clave virtual.

Valor devuelto

Tipo: SHORT

Si la función se realiza correctamente, el byte de orden bajo del valor devuelto contiene el código de clave virtual y el byte de orden superior contiene el estado de desplazamiento, que puede ser una combinación de los siguientes bits de marca.

Valor devuelto Descripción
1
Se presiona cualquiera de las teclas MAYÚS.
2
Se presiona cualquiera de las teclas CTRL.
4
Se presiona cualquier tecla ALT.
8
Se presiona la tecla Hankaku.
16
Reservado (definido por el controlador de diseño de teclado).
32
Reservado (definido por el controlador de diseño de teclado).
 

Si la función no encuentra ninguna tecla que se traduzca al código de carácter pasado, los bytes de orden bajo y de orden superior contienen –1.

Comentarios

En el caso de los diseños de teclado que usan la tecla ALT de la derecha como tecla mayús (por ejemplo, el diseño del teclado francés), el estado de desplazamiento se representa mediante el valor 6, porque la tecla ALT de la derecha se convierte internamente en CTRL+ALT.

Las traducciones del teclado numérico (VK_NUMPAD0 a través de VK_DIVIDE) se omiten. Esta función está pensada para traducir caracteres en pulsaciones de teclas solo desde la sección principal del teclado. Por ejemplo, el carácter "7" se traduce en VK_7, no VK_NUMPAD7.

VkKeyScan se usa en aplicaciones que envían caracteres mediante los mensajes WM_KEYUP y WM_KEYDOWN .

Nota

El encabezado winuser.h define VkKeyScan 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

Consulte también