我想找到键盘的所有输入语言,您可以使用 LEFT ALT + SHIFT 在它们之间切换。
我可以使用 win API 获取默认语言环境和已安装/支持的语言环境,但我无法在任何地方找到有关键盘输入语言环境的任何信息。
我想找到键盘的所有输入语言,您可以使用 LEFT ALT + SHIFT 在它们之间切换。
我可以使用 win API 获取默认语言环境和已安装/支持的语言环境,但我无法在任何地方找到有关键盘输入语言环境的任何信息。
您必须使用GetKeyboardLayoutList函数。
例如,要在控制台中输出所有键盘输入语言,您可以使用以下代码:
UINT uLayouts;
HKL *lpList = NULL;
wchar_t szBuf[512];
uLayouts = GetKeyboardLayoutList(0, NULL);
lpList = (HKL*)LocalAlloc(LPTR, (uLayouts * sizeof(HKL)));
uLayouts = GetKeyboardLayoutList(uLayouts, lpList);
for(int i = 0; i < uLayouts; ++i)
{
GetLocaleInfo(MAKELCID(((UINT)lpList[i] & 0xffffffff),
SORT_DEFAULT), LOCALE_SLANGUAGE, szBuf, 512);
wprintf(L"%s\n", szBuf);
memset(szBuf, 0, 512);
}
if(lpList)
LocalFree(lpList);