|
输入法安装制作原理
作者:酋长 来源:本站原创 点击数:3350 更新时间:2004-10-7
五笔爱好者论坛里很多朋友问我输入法安装程序怎么做,这两天有空,就整理了一下,希望能够从中给大家一点启示!
★win9x/me 系统
步骤一:拷贝文件。
在win9x/me系统下, 把输入法相关文件(一般是*.ime,可能还有其它 .dll文件)拷贝到 win$\system$ 目录下。
步骤二:修改注册表。
①第一处:
在 hkey_local_machine\system\currentcontrolset\control\keyboard layouts\ 下新建主键(e0xx0804, 请替换 xx 为一不重复的十六进制数),再在该主键下新建三个字串项,内容如下:
格式为:名称 = 数据
ime file = imename.ime
layout file = kbdus.kbd
layout text = 输入名名称
②第二处:
在 hkey_current_user\keyboard layout\preload 下新建一主键 x ,(数字, 比现有的主键最大数大 1)
其内容为:(默认) = e0xx0804 (默认用 "" 表示键名, e0xx0804 就是上述第一处新建的那一个主键名)
步骤三:激活输入法。(即使桌面右下角的输入法列表中出现新安装的输入法)
简单地说就是调用一个windows的api,激活刚刚安装的输入法,否则只有在重启计算机后,桌面右下角的输入法列表中才会出现你安装的输入法。
使用windows api:loadkeyoardlayout("e0xx0804", klf_activate), 激活输入法, 具体用法请查看 msdn。
★winnt/2000/xp 系统
步骤一:拷贝文件。
在winnt/2000/xp 系统下, 把输入法相关文件(一般是*.ime,可能还有其它 .dll文件)拷贝到 win$\system$ 目录下。
步骤二:修改注册表。
①第一处:
在 hkey_local_machine\system\currentcontrolset\control\keyboard layouts\ 下新建主键(e0xx0804, 请替换 xx 为一不重复的十六进制数),再在该主键下新建三个字串项,内容如下:
格式为:名称 = 数据
ime file = imename.ime
layout file = kbdus.dll
layout fext = 输入名名称
②第二处:
hkey_current_user\keyboard layout\preload 下,新建字串项 x ,名称及数据为: x = e0xx0804 (x 是数字, 比现有的最大键名值大1, e0xx0804 是上述新建的主键名)。
步骤三:激活输入法。(即使桌面右下角的输入法列表中出现新安装的输入法)
使用windows api:loadkeyoardlayout("e0xx0804", klf_activate), 激活输入法, 具体用法请查看 msdn。
说明:
①步骤三如果不做的话,则在重启计算机后,桌面右下角的输入法列表中才会出现你安装的输入法,否则需要用户手动在“控制面板”的“输入法”中添加到桌面右下角的输入法列表中去。
②win$是指系统windows的安装目录,win9x/me下一般是 x:\windows,而 winnt/2000 一般是 x:\winnt,winxp下一般是 x:\windows。
③system$是指 windows的系统目录,win9x/me下一般是 win$ 目录下的 system 目录,winnt/2000/xp 下一般是 win$ 下的system32目录。
另:有一些朋友在写输入法安装程序时,只使用 imminstallime 这个api,好像不用修改注册表,应该也是可以的。具体还是查看msdn吧,这个api我没有使用过。
如果有问题,可以到五笔爱好者论坛http://wbfansbbs.yeah.net提出或者email到 zero_pan@21cn.com。欢迎批评指正! |
|