用VC++自制王码五笔输入法安装包 : Windows XP没有自带五笔字型输入法,虽然网上相关输入法很多,但一方面有些版本是共享软件,另一方面也许很多五笔字型输入法的老用户最习惯用的还是老牌的“王码五笔字型输入法86/98版”。

  微软Office XP中包含了王码五笔,但如果仅仅是为了使用它而运行Office XP安装程序,就显得有些小题大做了,更不用说是某些临时在外面用公用电脑而又想用五笔字型输入法的情况。于是网上出现了很多简化安装方法,大体可分为三个步骤:

  1.拷贝输入法文件(从Office XP光盘中或已经安装了“王码五笔字型输入法”的电脑中提取)
 
  2.增加注册表项

  3.重启后通过控制面板添加输入法

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

  经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。OK,现在就开始利用它实现自己的“王码五笔字型输入法”全自动安装程序。

  一、准备素材

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

  提取了输入法文件后必须让安装程序针对不同版本操作系统将它们拷贝到正确的目录,以便调用API来进行输入法安装。笔者分别在安装了Office XP中自带的“王码五笔字型输入法”的Windows 98SE和Windows XP中查找以上文件,发现帮助文件都存放在WindowsHELP目录中(这里假设系统安装在Windows目录)。而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows 9x下存放于WindowsSYSTEM目录中,在NT系列Windows系统中存放于WindowsSYSTEM32目录中。

  二、相关API函数

  素材准备工作已经完成,现在来看一下代码编写过程中需要用到的4个主要的API函数。

  1.DWORD GetVersion(VOID)

  该函数返回与当前使用的Windows系统版本有关的信息。可通过判断返回值最高位是否为1来判断当前是用的系统是NT/2000/XP还是9x/ME。

  2.BOOL CopyFile(LPCTSTR lpExistFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);

  该函数将以lpExistFileName指向的字符串为文件名的文件复制为以lpNewFileName指向的字符串为文件名的新文件。这里的文件名可以包含文件路径。最后的参数bFailIfExists决定当新文件已存在时是否覆盖现有文件,如果为FALSE,则覆盖。

  3.HKL ImmInstallIME(LPCTSTR lpszIMEFileName, LPCTSTR lpszLayoutText);

  这是制作“王码五笔字型输入法”全自动安装程序的关键函数。函数两个参数分别为输入法IME文件的文件名和在控制面板的是输入法选项中显示的输入法名称。函数调用后将返回一个被安装输入法的输入法标识符(或称做输入法句柄)。

  4.BOOL ImmIsIME(HKL hKL);

  该函数判断hKL指向的输入法是否有效。可以用ImmInstallIME函数的返回值作为该函数参数,通过函数返回值来判断输入法是否安装成功。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-123216/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-123216/

用VC++自制王码五笔输入法安装包(转)相关推荐

  1. 王码五笔输入教程(转自电脑报)

    一.基本知识 1.汉字的构成 人们知道,物质是由分子组成的,成千上万种分子,又是由100多种原子构成,而原子,则是由更小的几种基本粒子如质子.电子.中子等构成.中国人常说: 木子──李     日月─ ...

  2. 王码五笔86版字根表图与字根助记词

    王码五笔86版字根表图: G 王旁青头戋(兼)五一("兼"与"戋"同音)    F 土士二干十寸雨 (可别忘了革字底)    D 大犬三羊古石厂 (羊底龙头套上 ...

  3. 曾风靡全国的五笔输入法要淘汰了?

    来自公众号:电脑报 最近,关于"五笔输入法是否将淘汰"的话题在网上引发热议. 不少网友认为,随着智能拼音输入法的出现,五笔正在走向被淘汰的边缘,这种曾经引以为傲.被誉为最快输入汉字 ...

  4. Vista下使用王码五笔86版问题与解决

    在windows2008安装王码86版的五笔(Office200,Office2003自带的),一点问题都没有. 而在Vista下安装这个王码五笔,多少会给你带来一点不便与问题. 问题一,只要输入汉字 ...

  5. 何为五笔输入的最高境界?

    昨天有人问我如题的问题, 大家给点意见和看法吧...     我先来说: 借用当年的李连杰的电影<<张三丰>>里的太极的心法的最高境界,就是忘掉招式来解释;五笔输入的最高境界就 ...

  6. Ubuntu五笔输入终极解决方案(Rime)

    写在前边 现在的时间:2019-06-15 操作系统:ubuntu-18.04.2 这篇博客要安装的输入法:ibus-rime Ubuntu下的五笔解决方案 ubuntu下我一共使用过三种五笔:系统自 ...

  7. Linux下安装五笔输入法和更新码表

    Linux下有几种输入法框架:IBus,fcitx,SCIM等等,关于他们的历史渊源可以在网上查资料. 笔者以CentOS 6.X安装五笔输入法为例,说明一下安装过程: 一.输入法安装 如果支持yum ...

  8. 自制极品五笔拼音for linux

    转自:http://ubuntu-fans.blogspot.com/2009/02/linux.html 最近一直在linux下工作,使用的是ubuntu版本的linux.各项工作都可以进行,ubu ...

  9. Ubuntu上安装fcitx五笔输入

    1. 安装 fcitx sudo apt-get install fcitx 2.配置码表(五笔拼音/五笔) sudo apt-get install fcitx-table-wbpy 或 sudo ...

  10. 解决Ubuntu16.04下wingide6.1无法用五笔输入中文的问题

    我之前有一篇文章介绍如何解决Ubuntu16.04下wingide5.1无法输入中文的问题.后来发现这个方法并不适用于wingide 6.1.后来在网上参考https://blog.csdn.net/ ...

最新文章

  1. OpenSSL简介及在Windows、Linux、Mac系统上的编译步骤
  2. 深入剖析ISAServer 网页缓存及配置
  3. 马斯克的星际飞船又炸了!回收时发动机重启失败,「横」着砸向地面
  4. gRPC源码分析2-Server的建立
  5. JAVA记事本的图形用户界面应用程序含过滤
  6. Linux下定时器使用
  7. Springboot2 Quartz实现JAVA定时任务的动态配置
  8. java调试,调试模式不进入内部类解决
  9. (转)Hibernate框架基础——Java对象持久化概述
  10. win8删除后清空回收站文件怎么恢复
  11. Android应用程序与SurfaceFlinger服务的关系概述和学习计划 .
  12. sql与MySQL like用法_MySQL中Like概念及用法讲解
  13. 计算机多系统启动光盘制作,制作启动光盘,小编教你如何制作光盘启动盘
  14. 需要作废的增值税发票丢失了怎么办
  15. 第十三周助教心得体会
  16. 如何根据边长数值计算六边形的面积
  17. 微信上线新功能 看到这个提醒一定要接听
  18. Vue ant打包服务器-并配置【nginx子路径+linux环境】跨域解决+jenkins自动部署
  19. SAP ABAP 小数转分数\约分
  20. 2015年3月12日

热门文章

  1. 真香警告!java时间格式转换工具
  2. java 中间件介绍_java中间件有哪些?java常用中间件介绍
  3. 用计算机解数独,6宫格数独计算器
  4. 计算机科学与技术毕业论文题目【115个】
  5. power query时间函数(思维导图)
  6. 【转】斐讯K2刷华硕固件教程
  7. MapGIS考试大纲
  8. 深度学习——VGG16模型详解
  9. 想找一些外文文献,有哪些靠谱的外文文献网站推荐?
  10. 小波分解与小波包分解的区别