GetKeyboardLayoutList function (Windows)

Switch View :
ScriptFree
GetKeyboardLayoutList function

Applies to: desktop apps only

Retrieves the input locale identifiers (formerly called keyboard layout handles) corresponding to the current set of input locales in the system. The function copies the identifiers to the specified buffer.

Syntax

UINT WINAPI GetKeyboardLayoutList(
  __in   int nBuff,
  __out  HKL *lpList
);

Parameters

nBuff [in]

Type: int

The maximum number of handles that the buffer can hold.

lpList [out]

Type: HKL*

A pointer to the buffer that receives the array of input locale identifiers.

Return value

Type: UINT

If the function succeeds, the return value is the number of input locale identifiers copied to the buffer or, if nBuff is zero, the return value is the size, in array elements, of the buffer needed to receive all current input locale identifiers.

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

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.

Requirements

Minimum supported client

Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Header

Winuser.h (include Windows.h)

Library

User32.lib

DLL

User32.dll

See also

Reference
GetKeyboardLayout
Conceptual
Keyboard Input

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Community Content

dmex
C# syntax
[DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true, ExactSpelling=true)]
public static extern int GetKeyboardLayoutList(int size, [Out, MarshalAs(UnmanagedType.LPArray)] IntPtr[] hkls);

dmex
vb.net syntax
<DllImport("user32.dll", CharSet:=CharSet.Auto, SetLastError:=True, ExactSpelling:=True)> _
Public Shared Function GetKeyboardLayoutList(ByVal size As Integer, <Out, MarshalAs(UnmanagedType.LPArray)> ByVal hkls As IntPtr()) As Integer
End Function