设置输入法

      	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);//激活输入法

 

输入法设置工具 IME TOOL 2.6.1 IME TOOL 支持中英文界面,适用于 Win98/ME/2000/XP/2003 操作系统。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表中不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表中删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件到系统目录中,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表中删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置中会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status:<0/1> <0>: 关闭输入法状态条 <1>: 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch:<0/1/2/3><a/b> <0>: 不使用切换语言和切换键盘布局热键 <1>: 仅使用切换语言热键 <2>: 仅使用切换键盘布局热键 <3>: 同时使用切换语言和切换键盘布局热键 <a>: 切换语言热键使用Ctrl+Shift <b>: 切换键盘布局热键使用Ctrl+Shift /hotkey:<1/2/3/a/b/c>,[hotkey] 指定输入法热键 <1/2/3..>,指定第1、2、3.. 个输入法的热键 <a> 指定打开/关闭输入法的热键 <b> 指定全角/半角切换的热键 <c> 指定中英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:<name>,[hotkey] 按名称添加输入法到列表 /add2:<filename>,[hotkey] 按文件名添加输入法到列表 /add3:<id>,[hotkey] 按 ID 添加输入法到列表 /del1:<1/2/3> 按顺序从列表中删除输入法 /del2:<name> 按名称从列表中删除输入法 /del3:<filename> 按文件名从列表中删除输入法 /del4:<IME ID> 按 ID 从列表中删除输入法 /install:[name],<filename>,[hotkey] 安装输入法 /uninstall1:<name> 按名称从注册表删除输入法 /uninstall2:<filename> 按文件从注册表删除输入法 /uninstall3:<ID> 按 ID 从注册表删除输入法 /load:<filename> 从配置文件调入参数 [hotkey] 格式: Ctrl+Shift_8_Left,如果同时使用左右键,则可以写为: Ctrl+Shift_8。 注意:要在命令行参数设置“/”和“,”作为辅助热键时,为避免和参数前导符和分隔符冲突,应写为“?”和“<”,如:ctrl_?_right、alt_< 要安装一个输入法到注册表时,须手工复制文件,xx.ime 文件必须复制到系统目录中。使用 /install 参数安装时,xx.ime 文件名前不能加路径,如: imetool /install:中文(简体) - 智能 ABC,winabc.ime 欢迎测试并反馈 bug。 更新: 2.6.1 版实现了带参数运行时完全隐藏主界面。允许既不使用高级文字服务也不使用输入法指示器。修正 2000/xp 下有可能无法从列表删除输入法的问题。可以从命令行用参数删除输入法热键。 2.6.0 版修复使用 /install 参数时在某种情况下会运行出错的 bug。参数中的分隔符由竖线改为逗号。 2.5.9 版将自动复制 internat.exe/indicdll.dll 的源路径由当前路径改为 imetool.exe 所在路径。在程序左上角菜单中增加命令行参数提示。 2.5.8 版修改键盘定义对话框丢失下拉列表问题(真是莫名其妙),一些细节调整。 2.5.7 版修订其它切换热键的设置按钮文字不会随左边的下拉列表切换的 bug。 2.5.6 版应网友要求取消气球提示,改为状态栏提示。 2.5.5 版增强对语言栏丢失时的修复功能(有时需要注销后方可生效)。 2.5.4 版修订设置热键时小键盘某些键值不对的问题。 2.5.3 版修订启动时检测输入法风格可能不对的 bug。 2.5.2 版本修订添加输入法时图标显示的一处 bug。高级/从注册表删除输入法时可在输入法显示框中用鼠标滚轮切换不同的输入法。 2.5.1 版修订一些程序上的 bug,添加关于信息。 2.5.0 版支持命令行参数、支持从脚本调入参数运行。 2.4.5 版修订安装输入法时导致出错的问题。 2.4.4 版继续修订 bug。 2.4.3 版修正 2.4.2 版未完全修正的问题。 2.4.2 版修正点击应用按键后一些显示状态错位问题。 2.4.1 版修正热键设置窗口状态显示不正常问题。 2.4.0 版重新调整界面布局。增加应用按钮。安装 ime 文件时可以自动获取文件信息做为输入法名称。调整程序处理流程。 2.3.1 版更新:大写关闭键设置后可立即生效;在输入法列表的不同列上双击可分别打开属性和热键设置。压缩包中的 internat.exe 做了修改,在其右键上选择属性可打开 imetool。另外修订一些 bug。 2.3.0 版增加安装删除输入法功能;增加一些项目的浮动提示;增加可安装输入法(语言)的范围;修正一些小的 bug。改变版本号的命名方式便之规范化。 2.22 版一些内部项目的调整。 2.21 版修订会误删除某些注册表项目的 bug。 2.2 版可以将排列第一位的输入法立即设为默认输入法而无须重启。 2.12 版修正输入法打开关闭等热键无法取消的 bug。 2.11 版修正某些情况下程序会无法运行的 bug。 本压缩包中附带的 internat.exe 和 indicdll.dll 为从 Windows 2000 Pro 简体中文版中提取并修改过。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值