Función GetKeyNameTextW (winuser.h)
Recupera una cadena que representa el nombre de una tecla.
Sintaxis
int GetKeyNameTextW(
[in] LONG lParam,
[out] LPWSTR 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 lParam.
Bits | Significado |
---|---|
16-23 | Código de tecla. El valor depende del OEM. |
24 | Especifica si la tecla es una tecla extendida, como las teclas ALT y CTRL derechas que aparecen en un teclado mejorado de 101 o 102 teclas. El valor es 1 si es una tecla 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
Búfer que recibirá el nombre de la 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 la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
El formato de la cadena key-name depende del diseño del 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 activo actualmente, por lo que la función podría devolver resultados diferentes para diferentes diseños de teclado.
El nombre de una clave de carácter es el propio carácter. Los nombres de las claves inactivas se escriben en su totalidad.
Es posible que este método no funcione correctamente con algunos diseños de teclado que producen varios caracteres (es decir, ligaduras) o caracteres Unicode complementarios que se imprimen en una sola pulsación de tecla. Además, las claves que se asignan a la "A". Los códigos de clave virtual Z" se traducen a mayúsculas "A". Caracteres Z, independientemente del diseño del teclado actual. Use los métodos ToUnicode o ToUnicodeEx en estos casos.
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 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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de