Compartir a través de


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

entrada de teclado

diseños de teclado de

ejemplos de diseño de teclado de

ToUnicode

ToUnicodeEx