Compartir a través de


Función VkKeyScanA (winuser.h)

[Esta función se ha reemplazado por la función VkKeyScanEx. Todavía puede usar VkKeyScan, sin embargo, si no es necesario especificar un diseño de teclado.]

Convierte un carácter en el código de tecla virtual correspondiente y cambia el estado del teclado actual.

Sintaxis

SHORT VkKeyScanA(
  [in] CHAR 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 ejecuta 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 cualquiera de las teclas 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 clave que se traduce en el código de carácter pasado, los bytes de orden bajo y de orden alto contienen –1.

Observaciones

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, ya que la tecla ALT de la derecha se convierte internamente en CTRL+ALT.

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

VkKeyScan lo usan las 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 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