TCHAR _szKBName[MAX_PATH];
GetKeyboardLayoutName( _szKBName);//获取当前输入法KLID,该名称是由语言标识符(低位字)的十六进制值和设备标识符(高位字)组成的字符串
printf("GetKeyboardLayoutName:%s\n",_szKBName);
HKL hkl= LoadKeyboardLayout("00000809",KLF_ACTIVATE);
//00000809英语英式键盘
//00000804中文简体
//E0200804中文搜狗,win10识别成00000804
//00000409英语美式键盘
HWND TheWindow = GetForegroundWindow();
SendMessage(TheWindow, WM_IME_NOTIFY, 1, 0);
SendMessage(TheWindow, WM_INPUTLANGCHANGEREQUEST, 1, (LPARAM)hkl);
SendMessage(TheWindow, WM_INPUTLANGCHANGE, 1, (LPARAM)hkl);
ActivateKeyboardLayout(hkl,KLF_SETFORPROCESS);//激活输入法