Función VkKeyScanExA (winuser.h)
Traduce un carácter al código de tecla virtual y el estado de cambio correspondientes. La función traduce el carácter usando el idioma de entrada y la distribución física del teclado identificados por el identificador de la configuración regional de entrada.
Sintaxis
SHORT VkKeyScanExA(
[in] CHAR ch,
[in] HKL dwhkl
);
Parámetros
[in] ch
Tipo: TCHAR
Carácter que se va a traducir en un código de clave virtual.
[in] dwhkl
Tipo: HKL
Identificador de configuración regional de entrada usado para traducir el carácter. Este parámetro puede ser cualquier identificador de configuración regional de entrada devuelto anteriormente por la función LoadKeyboardLayout .
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 |
---|---|
|
Se presiona cualquiera de las teclas MAYÚS. |
|
Se presiona cualquiera de las teclas CTRL. |
|
Se presiona cualquier tecla ALT. |
|
Se presiona la tecla Hankaku. |
|
Reservado (definido por el controlador de diseño de teclado). |
|
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
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.
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.
Se omiten las traducciones del teclado numérico (VK_NUMPAD0 a través de VK_DIVIDE). 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.
VkKeyScanEx lo usan las aplicaciones que envían caracteres mediante los mensajes WM_KEYUP y WM_KEYDOWN .
Nota
El encabezado winuser.h define VkKeyScanEx 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 |