函数功能:可以获得与系统中输入法的当前集相对应的键盘布局句柄。该函数将句柄拷贝到指定的缓冲区中。
函数原型:UINT GetKeyboardLayoutList(int nBuff,HKL FAR *IpList)
参数:
nBuff:指定缓冲区中可以存放的最大句柄数目。
Iplist:缓冲区指针,缓冲区中存放着键盘布局句柄数组。
头文件:winuser.h:库文件:user32.lib。
函数原型:UINT GetKeyboardLayoutList(int nBuff,HKL FAR *IpList)
参数:
nBuff:指定缓冲区中可以存放的最大句柄数目。
Iplist:缓冲区指针,缓冲区中存放着键盘布局句柄数组。
返回值:若函数调用成功,则返回值为拷贝到缓冲区的键盘布局句柄的数目,
或者,若nBuff为0,则运回值为接受所有当前键盘布局的缓冲区中的大小(以数组成员为单位)。
若函数调用失败,返回值为0。
若想获得更多错误信息,可调用GetLastError函数。
头文件:winuser.h:库文件:user32.lib。
;~ GetKeyboardLayoutList function:
;~ http://msdn.microsoft.com/en-us/library/windows/desktop/ms646297
HKLNum := DllCall("GetKeyboardLayoutList", "UInt", 0, "UInt", 0)
MsgBox %HKLNum%
VarSetCapacity(HKLList, HKLNum*4, 0)
DllCall("GetKeyboardLayoutList", "UInt", HKLNum, "UInt", &HKLList)
loop, %HKLNum%
{
HKL%A_Index% := NumGet(HKLList, (A_Index-1)*4 )
MsgBox % HKL%A_Index%
}