如何获得当前的输入法名称?

dxhh99 2010-03-07 04:38:41
如何获得当前的输入法名称??

找到这段代码:

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));


取得当前的输入法是: "搜狗拼音输入法"
怎么样取得: "中文 (简体) - 搜狗拼音输入法"
...全文
307 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzy694358 2010-03-08
  • 打赏
  • 举报
回复
mark
markvmark

mark
mark
mark
Dingnifei123 2010-03-08
  • 打赏
  • 举报
回复
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\Imm.h
看看这个头文件,
许文君 2010-03-08
  • 打赏
  • 举报
回复
引用 5 楼 dingnifei123 的回复:
查一下MSDN,好像有这么个东东,
...............................
前段时间好像有个牛人说背msdn里函数什么的,希望他背到这个函数了,

这个是兔子说的吧0 0。
个人认为,中文(简体) 这个可以依靠判断直接得来吧?然后CSRING+即可了
当然我没用过,要是不行就当我胡说
dxgxk 2010-03-08
  • 打赏
  • 举报
回复
自己顶一下。。。。。。。。
dxhh99 2010-03-08
  • 打赏
  • 举报
回复

HKL myhkl;

失去焦点时:

myhkl=GetKeyboardLayout(0);//获得当前输入法
if(ImmIsIME(myhkl))
ImmSimulateHotKey(Handle,IME_CHOTKEY_IME_NONIME_TOGGLE);


重新获得焦点时:

if(ImmIsIME(myhkl))
ActivateKeyboardLayout(myhkl,KLF_ACTIVATE);


Dingnifei123 2010-03-07
  • 打赏
  • 举报
回复
你要是下不了,我可以传给你,

或许对你有点帮助,
Dingnifei123 2010-03-07
  • 打赏
  • 举报
回复
查一下MSDN,好像有这么个东东,
...............................
前段时间好像有个牛人说背msdn里函数什么的,希望他背到这个函数了,
dxhh99 2010-03-07
  • 打赏
  • 举报
回复
自己顶一下.....
dxhh99 2010-03-07
  • 打赏
  • 举报
回复
我想在控件失去焦点时,保存输入法,

重新获得焦点是,恢复原来使用的输入法.
sjdev 2010-03-07
  • 打赏
  • 举报
回复
Ime编程,不是很了解.
Dingnifei123 2010-03-07
  • 打赏
  • 举报
回复
也想知道,

帮顶,

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧