GetKeyNameText
The GetKeyNameText
function retrieves a string that represents the name of a key.
int GetKeyNameText(
LONG lParam, |
// second parameter
of keyboard message |
LPTSTR lpString, |
// address of
buffer for key name |
int nSize |
// maximum length
of key-name string length |
); |
|
Parameters
lParam
Specifies the
second parameter of the keyboard message (such as WM_KEYDOWN) to be processed.
The function interprets the following portions of lParam:
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. |
lpString
Points to a
buffer that will receive the key name.
nSize
Specifies the
maximum length, in characters, of the key name, including the terminating null
character. (This parameter should be equal to the size of the buffer pointed to
by the lpString parameter.)
Return Values
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.
Remarks
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.