Función VkKeyScanExA (winuser.h)
Traduce un carácter al código de clave virtual correspondiente y al estado de desplazamiento. La función traduce el carácter mediante el idioma de entrada y el diseño de teclado físico identificado por el identificador de 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 de
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 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 |
---|---|
|
Se presiona cualquiera de las teclas MAYÚS. |
|
Se presiona cualquiera de las teclas CTRL. |
|
Se presiona cualquiera de las teclas 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 clave que se traduce en el código de carácter pasado, los bytes de orden bajo y de orden alto contienen –1.
Observaciones
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 Editor de métodos de entrada (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, 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 través de 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.
VkKeyScanEx se usa en 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 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
- GetAsyncKeyState
- GetKeyNameText
- GetKeyState
- GetKeyboardState
- LoadKeyboardLayout
- SetKeyboardState
- ToAsciiEx
- entrada de teclado