winuser.h


GetKeyNameText

La función GetKeyNameText recupera una cadena que representa el nombre de una tecla.

Sintaxis

int GetKeyNameText(
    LONG lParam,      // segundo parámetro del mensaje de teclado
    LPTSTR lpString,  // dirección del buffer para el nombre de tecla
    int nSize         // longitud máxima de de la cadena de nombre de tecla
   );

Parámetros

lParam: especifica el segundo parámetro del mensaje de teclado (como WM_KEYDOWN) a ser procesado. La función interpreta las siguientes porciones de lParam:

Bits Significado
16~23 Código de escaneo.
24 Bandera de tecla extendida. Distingue algunas teclas en un teclado mejorado.
25 Bit de "no importa". La aplicación llama a esta función activando este bit para indicar que la función no debe distinguir entre las versiones izquierda y derecha de la teclas de Control y mayúsculas, por ejemplo.

lpString: apunta a un buffer que recibe el nombre de la tecla.

nSize: especifica la longitud máxima, en caracteres, del nombre de tecla, incluyendo el carácter nulo final. (Este parámetro debe ser igual al tamaño del buffer apuntado por el parámetro lpString.)

Valor de retorno

Si la función tiene éxito, se copia una cadena terminada en nulo dentro del buffer especificado, y el valor de retorno es la longitud de la cadena, en caracteres, sin contar el nulo final.

Observaciones

El formato de la cadena de nombre de tecla depende del diseño de teclado actual. El driver de teclado mantiene una lista de nombres en la forma de cadenas de caracteress para las teclas con nombres mayores que un único carácter. El nombre de tecla se traduce deacruedo al diseño de teclado actualmente instalado. El nombre de una tecla de carácter es el propio carácter. Los nombres de las teclas muertas se devuelven completos.