自制王码五笔型输入法安装包
- 格式:doc
- 大小:398.01 KB
- 文档页数:14
下载万能五笔输入法「下载万能五笔输入法怎样添加到任务栏右下方」上网搜索一下,找到万能五笔把它下载在你的电脑里,找到可以安装的文件文件后缀名为exe的双击它或是右键打开它就可以安装了依它弹出对话框的步骤安下去就可以了;万能五笔输入法手写功下载方法如下1首先在该页找到下载地址任选其一将万能五笔输入法软件包下载至本地,下载后双击解压找到EXE格式程序并运行2运行安装程序后,可选择设置万能五笔输入法安装路径,单击浏览开始设置,设。
方法步骤1我们打开浏览器并在搜索栏中输入关键字“万能五笔输入法”进行搜索,2我们点击搜索后再点击图示的立即下载按钮,3接着我们在新建下载任务栏中选择好文件下载后的保存位置,4我们设置好下载文件的保存位置后点击;1首先打开360软件,进入首页之后,点击软件管家iknowtarget=quot_blankquottitle=quot点击查看大图quotclass=quotikqb_img_alinkquotiknow;这是一个可下载网站shtml,或者你到百度搜搜“万能五笔输入法下载”,点击进入,选择下载地址,出现如wnwb_800_50exe,选择存放路径,点击下载即可下载完成后打开文件所在;下载和安装万能五笔,可以直接在百度主页,输入关键词“万能五笔”搜索,在第一条记录里就是,直接点击立即下载,保存在电脑上,再双击安装即可或者在下载窗口,直接点击运行,下载在缓存,完成后会自动安装;用陈桥五笔吧,很方便,在搜索陈桥五笔,之后下载前面的资源,下载的压缩包中一般有两个文件,一个是安装的,另一个是卸载的,我比较喜欢用,还有很多个性化设置,比如查询编码之类的,强力推荐LZ用;1百度搜索“万能五笔输入法”2找到合适的的下载源进行下载3下载好后,点击安装包,根据提示进行安装,就能将万能五笔输入法安装到电脑上4安装好后就可以点击“Ctrl+Shift”进行输入法切换了。
1首先打开你的系统设置找到你的偏好设置,点击键盘选项如图2然后点击选择输入源,然后再点击左下角的添加+号3选择简体中文,选择五笔输入法,最后选择添加即可这样就可以使用五笔输入法了;1控制面板添加和删除程序选中“万能五笔输入法”卸载2找到万能五笔输入法所在驱动器的根目录,将其删掉如果是下载在系统盘里,此步可不需要3重新启动计算机就可以了;万能五笔输入法进行安装的操作教程我们先从电脑中先找到你事先下载的万能五笔安装包接着我们双击打开,找到安装文件这时我们双击安装文件,出现如下安装界面,单击“下一步”会出现一个新的界面,单击“我同意”后出现;电脑上如何下载五笔输入法,通过360软件管家就能直接下载安装,一起来看看吧1首先打开电脑,在桌面右下角找到“360安全卫士”图标,并点击打开2进入360安全卫士主界面,点击打开右上方箭头指示的“软件管家”3按图;1 启动安装程序双击下载的万能五笔输入法安装程序,即可打开欢迎使用万能五笔80安装向导界面,该向导将引导用户完成万能五笔80的安装进程2 打开许可证协议界面单击下一步按钮,即可进入许可证协议界面。
五筆輸入法教程[小博士]如果你想让自己的打字速度上一个大台阶,就来学习五笔字型输入法吧![晓宇]五笔!五笔的大名早如雷贯耳了,但总感觉很高深,挺难学吧![小博士]五笔的确有点儿难学,不过你千万不要被吓倒,现在我手把手地教你,保管你能学会。
[晓宇]好啊,我一定认真学。
[小博士]现在我们要讲的是86版的五笔。
因为这种输入法最有代表性,使用者也最多。
[小博士]单击任务栏右侧托盘上的“En”图标,从弹出的菜单中选择“王码五笔型输入法86版”。
我们先来输入一句话,“中华人民共和国成立于1949年”。
[晓宇]这么快就输完啦![小博士]我刚才只敲了16下键,就把这句话录入了,而且不用看屏幕。
如果用拼音输入法,至少要敲二十几下。
[晓宇]五笔果然神奇,那你赶快教我学吧![小博士]好啊!但要记住,学习五笔最重要的是耐心和恒心,很多人都学过五笔,但因为缺乏够的耐心,很快就放弃了。
你可一定要坚持到底哟![晓宇]没问题!一、字根与五笔键盘1. 五笔是怎么回事[小博士]下面我先讲一下五笔的基本原理。
汉字都是由笔划或部首组成的。
为了输入这些汉字,我们把汉字拆成一些最常用的基本单位,叫做字根,字根可以是汉字的偏旁部首,也可以是部首的一部分,甚至是笔划。
取出这些字根后,把它们按一定的规律分类;再把这些字根依据科学原理分配在键盘上,作为输入汉字的基本单位;当要输入汉字时,我们就按照汉字的书写顺序依次按键盘上与字根对应的键,组成一个代码;系统根据输入字根组成的代码,在五笔输入法的字库中检索出所要的字。
[晓宇]字显示在屏幕上,也就是说我们输入了这个字。
噢,原来是这样!那要想学会五笔,我们该做些什么呢?[小博士]五笔输入法的发明者们已经把所有汉字都按照一定的规则拆成了一些字根,并且将这些字根按类分配到键盘上了;在输入法中,也有了汉字与代码一一对应的库。
如果你想输入某个字,只要知道在键盘上敲哪些键就行了。
[晓宇]我怎么知道要敲什么键?[小博士]所以你才要学习五笔呀!学习五笔要掌握这么几项内容:•知道键盘上的每个键位对应着哪些字根;•学习如何把汉字拆成五笔字根;•输入字根对应的字母,必要时要键入识别码;如果掌握了每个汉字的输入方法,再学习词汇的输入就容易多了。
IOS全设备不越狱自制五笔输入法,支持IOS6本人设备:ipod touch4,iphone4 4s 5,ipad 3,ipad mini新到机器 i5 ,ipad mini,由于是IOS6和6.0.1的固件,没越狱本文通用自制一个用户词,备份到PC上,再修改PC的这一份用户词文件,回导恢复到手机中实现: 通过用户词使用五笔的方法本人在XP下操作,用到的软件:itunes,iBackupBot for iTunes,SQLite Expert Professional 3,Microsoft Office这里要注意的是SQLite Expert Professional 3要用版本3以上的,因为有一项功能正是3以上才有的看到相关技术贴原贴:本站原贴但不通用,只有一小部分人成功,耐用字库不全!!! 技术贴不通用的原因,在教程以后有谈到只能自己研究,本人操作:新机新固件,激活后,设置-通用-键盘-用户词(机器本来带有'msd 马上到!'这样一个词)自己添加一个词五笔的: tjus 得闲然后用itunes备份到电脑用iBackupBot for iTunes打开刚刚的备份,可以看到备份的内容找到Library/Keyboard/UserDictionary.sqlite 这一项(我的手机上是这个文件不是知道是不是版本不一样Library/Keyboard/CloudUserDictionary.sqlite) 但这个不影响,我的机器只有这一项,没有云的那一个勾上,选 Export, 然后选下边的选项 Export only checked file(s),下边的勾也选上然后按OK,就会有浏览保存地址保存好后会有两份文件Library_Keyboard_UserDictionary.sqliteLibrary_Keyboard_然后用SQLite Expert Professional 3编辑Library_Keyboard_UserDictionary.sqlite注意:Library_Keyboard_这个文件不要删除,因为回导要用而且最好是用自己的机器导出来的文件打开SQLite Expert ,选 Open Datebase,打开刚导出来的Library_Keyboard_UserDictionary.sqlite如图:选中ZUSERDICTIONARYENTRY这项右边Data看到下边的表格这个表格发现了自己刚刚添加的 tjsu 和系统自带的msd没看到的在量下边向右拉一下这里要注意一下,很多人说教程不通用,主要是因为这个表格的格式问题本文提供一个通用的格式(附件中有),这里是86版五笔字库,一般字都有齐了,包括粤语字,然后导入CSV文件ZUSERDICTIONARYENTRY右键,选最下那项Import text file(CSV,TSV)选中提供的CSV文件导入如图然后成功了,CLOSE,再关闭SQLite ExpertProfessional 3全自动保存到文件中看一下发现文件变成了4M这个不知道有没有记错,因为我导了很多次(后边说原因)然后再用iBackupBot for iTunes,选File-Import,将Library_Keyboard_导回备份文档中最后,可以在iBackupBot for iTunes中选中该备份,右键Restore,恢复到手机(连接自己备份时的手机,且只连一部)完成后机器重启后,进入设置-通用-键盘这里一点键盘,机器会卡着,不用担心,等一会进入键盘设置页,看到用户词,再点进去,这里跟刚刚一样,卡着的,注意一点,不要让屏幕自动锁定等进入用户词里,就看到你的五笔字库了然后退出,用任意输入法打字都会先搜索这里的用户词的最后分享: 之前看那个QQ五笔海量词库,因为太大了,9W多条,而这种方法生成的用户词,最多只能是2^16= 65536个词我给出的五笔词库中没有多少词语,只有2W多字这个数量,和表格的格式,导致不通用另外如果用户要增加词语,必须在CSV文件中,按格式,有两格是1,有两格是输入和输出的字按这种格式加进去,就是个性的字库了加好了保存一下,清除了本来的再导进去,也可以在CSV中不要本来的,只加几项自己添加的上去就可以了我是把第一次导出来的两个文件备份好的,每次导进去都很快,不用一两秒就OK了。
五笔打字方法介绍五笔是王码公司发明的,又称为王码。
其发明人是王永民教授,共有三个版本:86、98、新世纪(最新版)。
下面价绍下五笔字型(以新世纪五笔为例):一、概述:五笔输入法利用了键盘25键,从A---Y,没有Z。
把这25键划分为以【横】【竖】【撇】【捺】【折】开头的五个字根区,每区有5键(对照字根图自己看看!)。
【横区】GFDSA【竖区】HJKLM【撇区】TREWQ 键盘5区,共25键。
【捺区】YUIOP【折区】NBVCX二、拆字方法:五笔的拆字很简单,就是用字根组字的过程,就像拼积木。
如:“地”---拆分为:土、也。
(一)单字拆法不管一个字由多少字根组成,五笔最多打四下。
★键名字:连击四下:“大”–DDDD★成字字根:报户口+首笔、次笔、末笔:“虫”-J、丨、乛、一、丶(*必须按笔画打,不能按字根打)★四字根以内的汉字:依次取根:“好”-女、子★四字根以上的汉字:取前三根+末根:“器”-口、口、大、口(二)词组打法☆二字词:各取前2根。
如,你好:wqvb☆三字词:一、一、二(依次取前两字第一根和最后一个字的前2根)。
如,黑龙江:ldia☆四字词:一、一、一、一(各取第一根)。
如,一如既往:gvvt☆四字词以上:一、一、一……….一(依次取前三字和最后一字的第一根,中间的字不取)。
如,中华人民共和国:kwwl------名词解释:键名字:每键第一个字根,如:口、大、白、水……..成字字根:本身既是汉字又是字根。
如:由、母、弓………注意:成字字根一定要一笔一笔的打,不可二次拆分为字根,如“古”,先报户口打D,再依次打一、丨、一。
不能拆为:十、口。
问:五笔有多少键字根?有多少成字字根?试着找找吧!三、关于末笔画识别码:(一)我们在打拼音时会有这种情况:打完拼音下面出来一堆字(重码),你要手选。
那么在五笔会不会也有这种情况呢?有!当出现重码时,五笔是如何打出你想要的字呢?那就要用到末笔画识别码,追加一笔,区分开来!如:“汗”这个字打IF是出不来的,那我们就追加一笔H,这个H就是末笔识别码。
Windows ME中的五笔拿出来作者:小冰子/太平洋网络学院[责编:Yuquan]Windows ME中共自带了两种五笔输入法,分别为王码五笔字形输入法86版、王码五笔字形输入法98版。
只要通过如下介绍的方法便可把这两种五笔输入法从Windows ME中剥离出来安装在Win9x内。
1、从已经安装了Windows Me的朋友那里或者从Widnows ME的安装盘中得到“五笔输入法”文件,继而再把这些文件复制作到磁盘上。
①如果是直接从安装好的Windows Me里找这些文件,“五笔输入法”文件如下:kbdus.kbd是“五笔输入法”的共享文件。
王码五笔字形输入法86版的文件有:winwb86.ime、winwb86.mb、t、winwb86.hlp王码五笔字形输入法98版的文件有:winwb98.ime、winwb98.mb、t、winwb98.hlp②如果从Windows ME安装盘上找这些文件,请用解压软件(如:WinZIP、WinRAR)将以下文件解压后,再将所列出的文件复制到磁盘上,文件如下:Win_19.cab (cab压缩文件):kbdus.kbd、winwb86.ime、winwb86.mb、winwb98.ime、winwb98.mbWin_10.cab (cab压缩文件):t、tWin_18.cab (cab压缩文件):winwb86.hlp、winwb98.hlp2、将kbdus.kbd 和winwb86.ime、winwb86.mb或winwb98.ime、winwb98.mb复制到C:\Windows\SYSTEM中(例:Windows-安装在C:\Windows)t、winwb86.hlp或t、winwb98.hlp复制到C:\Windows\Help中(例:Windows-安装在C:\Windows),这一步是复制“五笔输入法”的帮助文件,如果您不想复制帮助文件也可以。
用“王码五笔型输入法86版”打出来的“五字以上词”:
1、一切从实际出发GAWN
2、理论联系实际GYBB
3、为人民服务YWNT
4、中华人民共和国KWWL
5、中央电视台KMJC
6、中国共产党KLAI
7、五笔字型电脑GTPE
8、五笔字型计算机汉字输入技术GTPS
9、新疆维吾尔自治区UXXA
10、广西壮族自治区YSUA
11.内蒙古自治区MADA
12.宁夏回族自治区PDLA
13.西藏自治区SATA
14.喜马拉雅山FCRM
15.人民代表大会WNWW
16.发展中国家NNKP
17.中国人民银行KLWT
18.中国人民解放军KLWP
19.现代化建设GWWY
20.民主集中制NYWR
21.可望而不可及SYDE
22.历史唯物主义DKKY
23.疾风知劲草UMTA
24.百闻不如一见DUGM
25.毛泽东思想TIAS
26.风马牛不相及MCRE
27.打破沙锅问到底RDIY
28.家庭联产承包责任制PYBR。
无痛学习王码五笔字型输入法完全教程出处:2345软件大全时间:2008-09-17人气:167424我来评论相关下载:王码五笔字型输入法86&98微软王码五笔86版 V8.0 For Nt/2000/Xp教程贴士:王码五笔字型输入法自动安装程序,含86版及98版。
王码数字系列,由五项专利、五种编码输入法构成,同一科学体系,由初级到高级,一脉相承、五级递进。
一、基本知识1、汉字的构成人们知道,物质是由分子组成的,成千上万种分子,又是由100多种原子构成,而原子,则是由更小的几种基本粒子如质子、电子、中子等构成。
中国人常说:木子──李日月──明立早──章双木──林可见,一个方块汉字是由较小的块拼合而成的。
这些“小方块”如日、月、金、木、人、口等等,就是构成汉字的最基本,也就是最根本的单位,我们把这些“小方块”称做字根”,意思是汉字之本。
“五笔字型”确定的字根有125种。
字根又是什么构成的呢?试拿笔写一写就知道,字根是由笔画构成的。
这样,我们就发现,物质的构成和汉字的构成十分相似:基本粒子(几种)──原子(100多种)──分子(成千上万种)基本笔画(5 种)──字根(125种)──汉字(成千上万种)2、汉字的分解汉字输入电脑一度举世称“难”。
难在哪里?难在汉字的“多”:字数多,笔画而电脑的输入设备键盘,只有几十个字母键,不可能把汉字都摆上去。
所以要将汉字分解开来之后,再向电脑输入。
(1)分解汉字:像把分子分解为原子那样,把汉字分解开来,比如将“桂”分解成“木、土、土”,“照”分解为“日、刀、口、灬”等。
因为字根只有125种,这样,就把处理几万个汉字的问题,变成了只处理125种字根的问题。
把输一个汉字的问题,变成输入几个字根的问题,这正如输入几个英文字母才能构成一个英文单词一样。
(2)分解过程:是构成汉字的一个逆过程。
当然,汉字的分解是按照一定的章法进行的,这个章法总起来就是:整字分解为字根,字根分解为笔画。
在电脑上如何删除王码五笔型输入法86版
你电脑上的王码五笔感觉不好用了,在控制面板上无法删除,怎么办呢?
首先点:开始→运行→Regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Con trol\Keyboard Layouts
查找下面的子项中含有王码五笔的项(这个是安装程序调用windows api: ImmInstallIME函数动态生成的,所以各个机器上都不一定相同,中文输入法一般为EXXX0804,X 指代(0,1,2,...9,A,B,C,D,E,F)中的任一字母)。
比如在机子上:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Keyboard Layouts\E0100804 中找到
看到右边有王码的内容,就删除左边的文件夹
对HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001, 002作同样的动作
然后:进入Windows的系统目录(对于Windows 2k来说,就是Winnt\system32)
删除winwb86.IME(如果98则是winwb98.ime,下同)删除winwb86.MB
(如无法删除,用文件粉碎器粉碎后在安全模式下删除)
最后:进入Windows的帮助文件目录(对于Windows 2k 来说,就是Winnt\Help:即Windows—Help)
删除winwb86.CHM
重新启动计算机后设置生效。
自制王码五笔型输入法安装包文章导读:Windows XP没有自带五笔型输入法,本文将介绍如何利用VC++自制王码五笔型输入法安装包。
Windows XP没有自带五笔型输入法,这对五笔型用户而言无疑是个大大的遗憾。
网上的五笔型输入法虽然种类很多,也不乏优秀的版本,但一方面有些版本是共享软件需要注册,另一方面也许很多五笔型输入法的老用户最习惯用的还是老牌的“王码五笔型输入法86/98版”。
微软的Office XP软件中包含了这个老牌的五笔型输入法,但如果用户并不使用Office XP中的任何组件,仅仅是为了使用“王码五笔型输入法”而运行Office XP安装程序,就显的有些小题大做了,更不用说是某些零时在外面用公用电脑而又想用五笔型输入法的情况。
于是网上出现了很多简化的安装方法,大体上可以分为三个步骤:拷贝输入法文件(从Of还是9x/ME。
示例代码fice XP光盘中或已经安装了“王码五笔型输入法”的电脑中提取)增加注册表项重启后通过控制面板添加输入法整个过程中拷贝输入法文件和增加注册表项可以用批处理和导入注册表文件来简化操作,但必须重启计算机才能在控制面板里添加输入法,这同样让使用者觉得比较烦琐。
那么作为一个编程爱好者能不能通过写个小程序来实现在不重新启动计算机的情况下全自动的安装“王码五笔型输入法”呢(也就是即装即用)?答案是肯定的!因为微软的Office XP安装程序做到了,这就表示微软肯定留有一个专门用来安装输入法的接口,一般来说应该是一系列API函数。
经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。
Ok,现在我们就开始利用这个API来实现自己的“王码五笔型输入法”全自动安装程序。
一、准备素材我们先试着从Office XP光盘中提取“王码五笔型输入法”的输入法文件。
通过Windows的查找功能在Office XP的第一张安装盘中查找与“WINWB”相关的文件,在OFFICE1.CAB中找到了一下14个文件:WINWB86.CHM.*、T.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、T.*、WINWB98.HLP.*、WINWB98A.IME.*、WINWB98A.MB.*、WINWB98W.IME.*、WINWB98W.MB.*,其中*是很长的一串由字母、数字和下滑线组成的序列(个人认为应该是微软为了校验文件内容的正确性而加上的内容为该文件效验码的后缀吧)。
去掉这个长长的后缀,可以看到5种类型的文件。
很明显,*.CHM、*.CNT和*.HLP是五笔型输入法的帮助文件,*.MB是码表文件,而*.IME是主要的输入法文件。
其中*.IME和*.MB有文件名部分以A结尾和以W结尾两个版本,经过笔者试验证实了它们分别是ANSI和UNICODE两种版本的输入法文件。
文件名部分以A结尾的文件适用于Windows9x,以W结尾的文件适用于NT系列Windows系统。
提取了输入法文件后必须让安装程序针对不同版本的操作系统将它们拷贝到正确的目录,以便调用API 来进行输入法安装。
笔者分别在安装了Office XP中自带的“王码五笔型输入法”的Windows 98SE和Windows XP操作系统中查找以上文件,发现帮助文件都存放在\WINDOWS\HELP目录中(这里假设Windows 系统都安装在\WINDOWS目录)。
而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows 9x下存放于\WINDOWS\SYSTEM目录中,在NT系列Windows系统中存放于\WINDOWS\SYSTEM32目录中。
二、相关API函数素材的准备工作已经完成,现在我们来看一下代码编写过程中需要用到的4个主要的API函数。
2.1 GetVersion函数原型:DWORD GetVersion(VOID);该函数返回与当前使用的Windows系统版本有关的信息。
可以通过判断返回值最高位是否为1来判断当前是用的系统是NT/2000/XP还是9x/ME。
示例代码:if (GetVersion() < 0x80000000)//NT/2000/XPelse//9x/ME2.2 CopyFile函数原型:BOOL CopyFile(LPCTSTR lpExistFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);该函数将以lpExistFileName指向的字符串为文件名的文件复制为以lpNewFileName指向的字符串为文件名的新文件。
这里的文件名可以包含文件路径。
最后的参数bFailIfExists决定当新文件已存在时是否覆盖现有文件,如果为FALSE,则覆盖。
示例代码:CopyFile("c:\\a.txt", "d:\\b.txt", FALSE);以上代码将c盘下的a.txt文件复制到D盘下并命名为b.txt。
如果已经存在b.txt,则覆盖原来的文件。
2.3 ImmInstallIME函数原型:HKL ImmInstallIME(LPCTSTR lpszIMEFileName, LPCTSTR lpszLayoutText);这是制作“王码五笔型输入法”全自动安装程序的关键函数。
函数的两个参数分别为输入法IME文件的文件名和在控制面板的是输入法选项中显示的输入法名称。
函数调用后将返回一个被安装输入法的输入法标识符(或称做输入法句柄)。
示例代码:HKL hKL = ImmInstallIME("c:\\winwb86.ime", "王码五笔型输入法86版");以上代码将输入法文件c:\winwb86.ime安装到系统中,并命名为“王码五笔型输入法86版”。
函数调用后返回安装的输入法的标识符,存放在hKL变量中。
2.4 ImmIsIME函数原型:BOOL ImmIsIME(HKL hKL);该函数判断hKL指向的输入法是否有效。
我们可以用ImmInstallIME函数的返回值作为该函数参数,通过函数返回值来判断输入法是否安装成功。
示例代码:if (ImmIsIME(hKL))//安装输入法成功else//安装失败hKL为调用ImmInstallIME()后得到的输入法标识符。
三、创建工程并添加代码1. 打开Visual C++ 6.0,通过菜单File - New新建一个名为“WINWB”的“Win32 Application”工程(如图1),单击“OK”。
2. 在应用程序类型选择中选择“An empty project”(图2),单击“Finsish”。
这样我们就新建好了一个空的Win32应用程序工程。
3. 通过菜单Project - Add to Project - New添加一个“Resource Script”资源文件,命名为“WINWB”(如图3)。
4. 通过菜单Insert - Resource添加一个新的Dialog资源(如图4)。
5. 调整Dialog资源的若干属性。
在Dialog的任意空白区域双击鼠标左键打开属性对话框,在属性对话框的Gerneral选项卡中更改ID为“IDD_MAIN”、 Caption属性为“王码五笔型输入法安装程序”(如图5)。
单击Font按钮,更改字体为宋体9号(这是简体中文版XP的标准字体型号)。
单击More Styles选项卡,选中Center属性,使对话框能在屏幕中居中显示(如图6)。
6. 关闭属性对话框,回到资源编辑界面。
删掉系统自动添加的“Cancel”按钮并更改“OK”按钮的Caption属性为“安装”(如图7)。
7. 添加一个新的Static Text控件,打开属性对话框更改Caption属性为“请选择输入法版本:”(如图8)。
8.添加一个新的List Box控件,打开属性对话框更改ID为“IDC_LIST”(如图9):并更改它的Selection属性为“Multiple”(如图10)。
9. 适当调整控件的大小和位置,完成资源创建(如图11):10. 通过菜单Project - Add to Project - New添加一个“C++ Source File”代码文件,命名为“WINWB”(如图12):11. 在新添加“WINWB.CPP”文件中输入程序代码,代码如下:#include <windows.h>#include "resource.h"#pragma comment(lib, "imm32.lib")#define IME_WINWB86 0#define IME_WINWB98 1BOOL CALLBACK Main_DlgProc(HWND, UINT, WPARAM, LPARAM);LPCTSTR TranslateFileName(LPCTSTR);void InstallIME(int);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){DialogBox(hInstance, (LPCTSTR)IDD_MAIN, NULL, Main_DlgProc);return 0;}//// 函数名:Main_DlgProc//// 参数:hDlg - 对话框句柄// uMsg - 消息值// wParam、lParam - 消息参数//// 返回值:TRUE - 消息已处理// FALSE - 消息未处理,返回给默认对话框处理程序处理//// 备注:对话框IDD_MAIN的回调函数//BOOL CALLBACK Main_DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {TCHAR strWINWB86[] = "王码五笔型输入法86版";TCHAR strWINWB98[] = "王码五笔型输入法98版";TCHAR cBuf[30]; // 存放LISTBOX中ITEM文本的缓冲区int nBuf[2]; // 存放LISTBOX中被选中的ITEM索引号的缓冲区int nSel; // LISTBOX中被选种的ITEM的数目switch (uMsg){case WM_INITDIALOG:// 初始化LISTBOXSendDlgItemMessage(hDlg, IDC_LIST, LB_ADDSTRING, 0, (LPARAM)strWINWB86);SendDlgItemMessage(hDlg, IDC_LIST, LB_ADDSTRING, 0, (LPARAM)strWINWB98); return TRUE;case WM_COMMAND:switch (LOWORD(wParam)){// 响应“退出”按钮case IDCANCEL:EndDialog(hDlg, 0);return TRUE;// 响应“添加”按钮case IDOK:// 获取LISTBOX中被选中的ITEM的数目及索引号nSel = SendDlgItemMessage(hDlg, IDC_LIST, LB_GETSELITEMS, 2, (LPARAM)nBuf);if (nSel == 0){MessageBox(hDlg, "请选择输入法版本!", "提示信息", MB_OK);return TRUE;}for (-- nSel; nSel >= 0; nSel --){// 获取LISTBOX中该索引号对应的ITEM的文本SendDlgItemMessage(hDlg, IDC_LIST, LB_GETTEXT, nBuf[nSel], (LPARAM)cBuf);if (lstrcmp(cBuf, strWINWB86) == 0){InstallIME(IME_WINWB86); // 安装王码五笔型输入法86版}else if (lstrcmp(cBuf, strWINWB98) == 0){InstallIME(IME_WINWB98); // 安装王码五笔型输入法98版}}return TRUE;}default:return FALSE;}}TCHAR g_strFileName[MAX_PATH]; // 函数TranslateFileName用到的字符串缓冲区//// 函数名:TranslateFileName//// 参数:lpszFileName - 指向用相对路径表示的文件名的字符串指针//// 返回值:指向用绝对路径表示的文件名的字符串指针//// 备注:将以WINDOWS目录为基准的用相对路径表示的文件名转换成用绝对路径表示的文件名//LPCTSTR TranslateFileName(LPCTSTR lpszFileName){// 获取WINDOWS目录的路径GetWindowsDirectory(g_strFileName, MAX_PATH);// 如果WINDOWS目录的路径是根目录if (g_strFileName[lstrlen(g_strFileName)-1] == '\\'){// 去掉路径最后的“\”g_strFileName[lstrlen(g_strFileName)-1] = '\0';}// 连接WINDOWS目录路径和用相对路径表示的文件名lstrcat(g_strFileName, lpszFileName);return g_strFileName;}//// 函数名:InstallIME//// 参数:nIMEType - 输入法类型//// 返回值:无//// 备注:安装指定的输入法//void InstallIME(int nIMEType){TCHAR strWINWB86A[] = "王码五笔型86版";TCHAR strWINWB86W[] = "中文 (简体) - 王码五笔型86版";TCHAR strWINWB98A[] = "王码五笔型98版";TCHAR strWINWB98W[] = "中文 (简体) - 王码五笔型98版";HKL hKL;if (nIMEType == IME_WINWB86){// 复制输入法帮助文件CopyFile("WINWB86.HLP", TranslateFileName("\\HELP\\WINWB86.HLP"), FALSE); CopyFile("WINWB86.CHM", TranslateFileName("\\HELP\\WINWB86.CHM"), FALSE); CopyFile("T", TranslateFileName("\\HELP\\T"), FALSE);if (GetVersion() < 0x80000000) // NT/2000/XP系统{// 复制UNICODE版输入法文件CopyFile("WINWB86W.IME", TranslateFileName("\\SYSTEM32\\WINWB86.IME"), FALSE); CopyFile("WINWB86W.MB", TranslateFileName("\\SYSTEM32\\WINWB86.MB"), FALSE);// 安装UNICODE版输入法hKL = ImmInstallIME(TranslateFileName("\\SYSTEM32\\WINWB86.IME"), strWINWB86W); }else // 9X/ME系统{// 复制ANSI版输入法文件CopyFile("WINWB86A.IME", TranslateFileName("\\SYSTEM\\WINWB86.IME"), FALSE); CopyFile("WINWB86A.MB", TranslateFileName("\\SYSTEM\\WINWB86.MB"), FALSE);// 安装ANSI版输入法hKL=ImmInstallIME(TranslateFileName("\\SYSTEM\\WINWB86.IME"),strWINWB86A);}// 验证输入法句柄是否有效if (ImmIsIME(hKL)){MessageBox(NULL, "安装王码五笔型输入法86版成功!", "提示信息", MB_OK);}else{MessageBox(NULL, "安装王码五笔型输入法86版失败!", "提示信息", MB_OK);}}else if (nIMEType == IME_WINWB98){CopyFile("WINWB98.HLP", TranslateFileName("\\HELP\\WINWB98.HLP"), FALSE); CopyFile("WINWB98.CHM", TranslateFileName("\\HELP\\WINWB98.CHM"), FALSE); CopyFile("T", TranslateFileName("\\HELP\\T"), FALSE);if (GetVersion() < 0x80000000){CopyFile("WINWB98W.IME", TranslateFileName("\\SYSTEM32\\WINWB98.IME"), FALSE); CopyFile("WINWB98W.MB", TranslateFileName("\\SYSTEM32\\WINWB98.MB"), FALSE);hKL = ImmInstallIME(TranslateFileName("\\SYSTEM32\\WINWB98.IME"), strWINWB98W); }else{CopyFile("WINWB98A.IME", TranslateFileName("\\SYSTEM\\WINWB98.IME"), FALSE); CopyFile("WINWB98A.MB", TranslateFileName("\\SYSTEM\\WINWB98.MB"), FALSE);hKL = ImmInstallIME(TranslateFileName("\\SYSTEM\\WINWB98.IME"), strWINWB98A); }if (ImmIsIME(hKL)){MessageBox(NULL, "安装王码五笔型输入法98版成功!", "提示信息", MB_OK);}else{MessageBox(NULL, "安装王码五笔型输入法98版失败!", "提示信息", MB_OK);}}}四、制作安装包在菜单Build - Set Active Configuration设置工程配置为“Win32 –Release”,然后进行编译、连接。