如何获得当前的输入法名称?? 找到这段代码: char szBuf[25];
double thId;
HANDLE hCurrentKBLayout;
//取回描述应用程序键盘布局的句柄,0表示取当前输入法
hCurrentKBLayout = GetKeyboardLayout(0);
memset(szBuf, 0x00, 25);
//获取指定输入法的名称
ImmGetDescription(hCurrentKBLayout, szBuf, 50);
if(String(szBuf).Length()==0)
strcpy(szBuf,"系统默认");
ShowMessage("当前输入法: " + String(szBuf));
取得当前的输入法是: "搜狗拼音输入法"
怎么样取得: "中文 (简体) - 搜狗拼音输入法"
double thId;
HANDLE hCurrentKBLayout;
//取回描述应用程序键盘布局的句柄,0表示取当前输入法
hCurrentKBLayout = GetKeyboardLayout(0);
memset(szBuf, 0x00, 25);
//获取指定输入法的名称
ImmGetDescription(hCurrentKBLayout, szBuf, 50);
if(String(szBuf).Length()==0)
strcpy(szBuf,"系统默认");
ShowMessage("当前输入法: " + String(szBuf));
取得当前的输入法是: "搜狗拼音输入法"
怎么样取得: "中文 (简体) - 搜狗拼音输入法"
...............................
前段时间好像有个牛人说背msdn里函数什么的,希望他背到这个函数了,
ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vcsample/local/sampleexecutables/international/ime.zip
个人认为,中文(简体) 这个可以依靠判断直接得来吧?然后CSRING+即可了
当然我没用过,要是不行就当我胡说
看看这个头文件,
HKL myhkl;失去焦点时: myhkl=GetKeyboardLayout(0);//获得当前输入法
if(ImmIsIME(myhkl))
ImmSimulateHotKey(Handle,IME_CHOTKEY_IME_NONIME_TOGGLE);
重新获得焦点时: if(ImmIsIME(myhkl))
ActivateKeyboardLayout(myhkl,KLF_ACTIVATE);