GetKeyboardLayout function

Retrieves the active input locale identifier (formerly called the keyboard layout).

Syntax


HKL WINAPI GetKeyboardLayout(
  _In_  DWORD idThread
);

Parameters

idThread [in]

Type: DWORD

The identifier of the thread to query, or 0 for the current thread.

Return value

Type: HKL

The return value is the input locale identifier for the thread. The low word contains a Language Identifier for the input language and the high word contains a device handle to the physical layout of the keyboard.

Remarks

The input locale identifier is a broader concept than a keyboard layout, since it can also encompass a speech-to-text converter, an Input Method Editor (IME), or any other form of input.

Since the keyboard layout can be dynamically changed, applications that cache information about the current keyboard layout should process the WM_INPUTLANGCHANGE message to be informed of changes in the input language.

To get the KLID (keyboard layout ID) of the currently active HKL, call the GetKeyboardLayoutName.

Beginning in Windows 8: The preferred method to retrieve the language associated with the current keyboard layout or input method is a call to Windows.Globalization.Language.CurrentInputMethodLanguageTag. If your app passes language tags from CurrentInputMethodLanguageTag to any National Language Support functions, it must first convert the tags by calling ResolveLocaleName.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Winuser.h (include Windows.h)

Library

User32.lib

DLL

User32.dll

See also

Reference
ActivateKeyboardLayout
LoadKeyboardLayout
WM_INPUTLANGCHANGE
Conceptual
Keyboard Input
Other Resources
CreateThread

 

 

Community Additions

ADD
Show:
© 2014 Microsoft