Win下的输入法(IME)编程(2)

 

·基于IME的输入法的安装、更新及卸载

    ·安装

        了解了系统是怎样保存输入法的信息后,要安装一个输入法就是很简单的事情了,我们只要准备好一个输入法ime文件,把它放好在某个位置后,再手动往上一点里提到的注册表位置中添加必要的项后输入法安装就算完成了。不过看着为每个已安装输入法分配的那串8位标识字符串(即输入法专属的键盘布局标识),是否觉得以编程手段实现输入法安装还是有点烦人呢?其实系统有为我们提供更简单的输入法安装方法,这个就是ImmInstallIME函数:

函数名

ImmInstallIME

功能

把输入法ime文件注册到系统中,让系统可以识别并调用该输入法,经此函数注册成功后,该输入法会直接出现在语言栏中(函数为我们在HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\Keyboard Layouts和HKEY_CURRENT_USER\\Keyboard Layout\\Preload两处地方都创建了相关信息)

函数原型

ANSI版本:HKL  WINAPI ImmInstallIMEA(LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText)

UNICODE版本:HKL  WINAPI ImmInstallIMEW(LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText)

参数

LPCSTR lpszIMEFileName:输入参数,传入输入法ime文件的文件名(如果传入的是带路径的文件名,则函数会把路径部分清除,仅提取出文件名部分,输入法文件也可采用其它扩展名)此文件名将作为输入法项中键名为“Ime File”的值

LPCSTR lpszLayoutText:输入参数,作为注册表输入法项中键名为“Layout Text”的值,该键的意义上面已有说明

返回值

HKL:返回的为键盘布局标识,也即注册表中表示该输入法项的816进制数(如“0x00060804”,可把HKL这个类型直接作为一个32位无符号数来看待),如果注册失败,则返回0

使用准备

使用此函数必须引用系统头文件imm.h,且在工程属性的链接器->输入->附加依赖项中要加入对“imm32.lib”文件的依赖

其它

ImmInstallIME为对两个版本函数的编译器级别调用封装,根据当前编程环境的选择(UNICODE/UNICODE),会调用相应的版本

调用失败

这里只说明两种常见的调用失败可能:一种是调用本函数时未把要注册的输入法ime文件复制到系统system32(win2000及以上)/system(win9x/me)目录下,另一种是输入法ime文件本身存在问题,关于后一点,在后面[创建一个空壳输入法]

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值