自制王码五笔字型输入法安装包

自制王码五笔字型输入法安装包

ID:9099887

大小:59.00 KB

页数:13页

时间:2018-04-17

自制王码五笔字型输入法安装包_第1页
自制王码五笔字型输入法安装包_第2页
自制王码五笔字型输入法安装包_第3页
自制王码五笔字型输入法安装包_第4页
自制王码五笔字型输入法安装包_第5页
资源描述:

《自制王码五笔字型输入法安装包》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、自制王码五笔字型输入法安装包喜欢玩软件的朋友一定经常遇到RePack的软件。所谓RePack,一般是针对原有软件不足进行优化(比如汉化、打补丁、增加插件等)并重新打包成安装程序,使用起来更加顺手。究竟RePack是如何进行呢?这次就请北京的张伟朋友给大家演示一下。此外,限于版面本文插图略有删改,完整文章电子版及最终王码五笔字型输入法安装包可在http://www.cfan.com.cn/11program/200423/tioclk.html下载。非常适合喜欢VisualC++朋友按部就班,跟着文章一步步操作。WindowsXP没有自带五笔

2、字型输入法,虽然网上相关输入法很多,但一方面有些版本是共享软件,另一方面也许很多五笔字型输入法的老用户最习惯用的还是老牌的“王码五笔字型输入法86/98版”。微软OfficeXP中包含了王码五笔,但如果仅仅是为了使用它而运行OfficeXP安装程序,就显得有些小题大做了,更不用说是某些临时在外面用公用电脑而又想用五笔字型输入法的情况。于是网上出现了很多简化安装方法,大体可分为三个步骤:1.拷贝输入法文件(从OfficeXP光盘中或已经安装了“王码五笔字型输入法”的电脑中提取)2.增加注册表项3.重启后通过控制面板添加输入法整个过程中拷贝输入

3、法文件和增加注册表项可以用批处理和导入注册表文件来简化操作,但必须重启电脑才能在控制面板里添加输入法,这同样让使用者觉得比较烦琐。作为编程爱好者能不能通过写个小程序实现在不重启全自动安装“王码五笔字型输入法”呢(也就是即装即用)?答案是肯定的!因为OfficeXP安装程序做到了,这就表示微软肯定留有一个专门用来安装输入法的接口,一般来说应该是一系列API函数。经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。OK,现在就开始利用它实现自己的“王码五笔字型输入法”全自动安装程序。一、准备素材先

4、试着从OfficeXP光盘中提取“王码五笔字型输入法”的输入法文件。通过Windows查找功能第一张安装盘中查找与“WINWB”相关的文件,在OFFICE1.CAB中找到以下14个文件:WINWB86.CHM.*、WINWB86.CNT.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、WINWB98.CNT.*、WINWB98.HLP.*、WINWB98A.IME.*、WINWB98A.MB.*、WINWB98W.

5、IME.*、WINWB98W.MB.*,其中*是很长的一串由字母、数字和下滑线组成的序列(个人认为应该是微软为校验文件内容正确性而加上的为该文件校验码的后缀)。去掉这个长长的后缀,可以看到5种类型的文件。很明显,*.CHM、*.CNT和*.HLP是输入法帮助文件,*.MB是码表文件,*.IME是输入法主文件。其中*.IME和*.MB有文件名部分以A结尾和以W结尾两个版本,经过试验证实了它们分别是ANSI和UNICODE两种版本的输入法文件。文件名部分以A结尾的文件适用于Windows9x,以W结尾的文件适用于NT系列Windows。提取了输

6、入法文件后必须让安装程序针对不同版本操作系统将它们拷贝到正确的目录,以便调用API来进行输入法安装。笔者分别在安装了OfficeXP中自带的“王码五笔字型输入法”的Windows98SE和WindowsXP中查找以上文件,发现帮助文件都存放在WindowsHELP目录中(这里假设系统安装在Windows目录)。而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows9x下存放于WindowsSYSTEM目录中,在NT系列Windows系统中存放于WindowsSYSTEM32目录中。二、相关API函数素材准备工作已

7、经完成,现在来看一下代码编写过程中需要用到的4个主要的API函数。1.DWORDGetVersion(VOID)该函数返回与当前使用的Windows系统版本有关的信息。可通过判断返回值最高位是否为1来判断当前是用的系统是NT/2000/XP还是9x/ME。2.BOOLCopyFile(LPCTSTRlpExistFileName,LPCTSTRlpNewFileName,BOOLbFailIfExists);该函数将以lpExistFileName指向的字符串为文件名的文件复制为以lpNewFileName指向的字符串为文件名的新文件。这里

8、的文件名可以包含文件路径。最后的参数bFailIfExists决定当新文件已存在时是否覆盖现有文件,如果为FALSE,则覆盖。3.HKLImmInstallIME(LPCTSTR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。