The GetKeyNameText function retrieves a string that represents the name of a key.
int GetKeyNameText(
LONG lParam, // second parameter of keyboard message
LPTSTR lpString, // pointer to buffer for key name
int nSize // maximum length of key-name string length
);
Bits | Meaning |
---|---|
16–23 | Scan code. |
24 | Extended-key flag. Distinguishes some keys on an enhanced keyboard. |
25 | "Don't care" bit. The application calling this function sets this bit to indicate that the function should not distinguish between left and right ctrl and shift keys, for example. |
If the function succeeds, a null-terminated string is copied into the specified buffer, and the return value is the length of the string, in characters, not counting the terminating null character.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
The format of the key-name string depends on the current keyboard layout. The keyboard driver maintains a list of names in the form of character strings for keys with names longer than a single character. The key name is translated according to the layout of the currently installed keyboard. The name of a character key is the character itself. The names of dead keys are spelled out in full.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Keyboard Input Overview, Keyboard Input Functions