GetKeyNameText Function

The GetKeyNameText function retrieves a string that represents the name of a key.

Syntax

int GetKeyNameText(      
    LONG lParam,     LPTSTR lpString,     int nSize );

Parameters

lParam
[in] Specifies the second parameter of the keyboard message (such as WM_KEYDOWN) to be processed. The function interprets the following bit positions in the lParam.
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
[out] Pointer to a buffer that will receive the key name.
nSize
[in] Specifies the maximum length, in TCHAR, 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 Value

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 TCHAR, not counting the terminating null character.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

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, thus the function may give different results for different input locales. The name of a character key is the character itself. The names of dead keys are spelled out in full.

Windows 95/98/Me: GetKeyNameTextW is supported by the Microsoft Layer for Unicode. To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.

Function Information

Minimum DLL Versionuser32.dll
HeaderDeclared in Winuser.h, include Windows.h
Import libraryUser32.lib
Minimum operating systems Windows 95, Windows NT 3.1
UnicodeImplemented as ANSI and Unicode versions.

See Also

Keyboard Input
Tags :


Community Content

QuadroPlay
Key codes
I've made a managed wrapper for this function, but when i've passed ENTER's keycode (13) i didnt get any results! Whats wrong?
Tags :

Page view tracker