Función GetKeyNameTextA (winuser.h)
Recupera una cadena que representa el nombre de una clave.
Sintaxis
int GetKeyNameTextA(
[in] LONG lParam,
[out] LPSTR lpString,
[in] int cchSize
);
Parámetros
[in] lParam
Tipo: LONG
Segundo parámetro del mensaje de teclado (como WM_KEYDOWN) que se va a procesar. La función interpreta las siguientes posiciones de bits en el lParam.
Bits | Significado |
---|---|
16-23 | El código de examen. El valor depende del OEM. |
24 | Indica si la tecla es una tecla extendida, como las teclas ALT y CTRL de la derecha que aparecen en un teclado mejorado de 101 o 102 teclas. El valor es 1 si es una clave extendida; de lo contrario, es 0. |
25 | "No te importa" bit. La aplicación que llama a esta función establece este bit para indicar que la función no debe distinguir entre las teclas CTRL y MAYÚS izquierda y derecha, por ejemplo. |
Para obtener más información, consulte marcas de mensaje de pulsación de tecla.
[out] lpString
Tipo: LPTSTR de
Búfer que recibirá el nombre de clave.
[in] cchSize
Tipo: int
Longitud máxima, en caracteres, del nombre de clave, incluido el carácter nulo de terminación. (Este parámetro debe ser igual al tamaño del búfer al que apunta el parámetro lpString).
Valor devuelto
Tipo: int
Si la función se ejecuta correctamente, se copia una cadena terminada en null en el búfer especificado y el valor devuelto es la longitud de la cadena, en caracteres, sin contar el carácter nulo de terminación.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
El formato de la cadena de nombre de tecla depende del diseño de teclado actual.
El diseño del teclado mantiene una lista de nombres en forma de cadenas de caracteres para las teclas con nombres más largos que un solo carácter. El nombre de la tecla se traduce según el diseño de teclado actualmente activo, por lo que la función podría devolver resultados diferentes para diseños de teclado diferentes.
El nombre de una tecla de carácter es el propio carácter. Los nombres de las claves inactivas se detallan en su totalidad.
Teclas de caracteres que se asignan a "A". Z' códigos de clave virtual se traducen al <LETRA MAYÚSCULA LATINA U+0041 LETRA A>..<caracteres U+005A LATIN CAPITAL LETTER Z> independientemente del diseño actual del teclado. En este caso, use los métodos ToUnicode o ToUnicodeEx para obtener el carácter de la tecla correspondiente.
Es posible que este método no funcione correctamente con algunos diseños de teclado de que producen varios caracteres (como ligaduras) o caracteres Unicode adicionales en una sola pulsación de tecla.
El encabezado winuser.h define GetKeyNameText 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
diseños de teclado de