欢迎来到天天文库
浏览记录
ID:32518760
大小:154.30 KB
页数:19页
时间:2019-02-10
《ime输入法编程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、VC资料IME输入法编程第一章Windows9x系统下汉字输入法的基本原理 Windows系统下汉字输入法实际上是将输入的标准ascii字符串按照一定的编码规则转换为汉字或汉字串,进入到目的地。 由于应用程序各不相同,用户不可能自己去设计转换程序,因此,汉字输入自然而然落到WINDOWS系统管理中。一、输入法与系统的关系 键盘事件 应用程序 | | Windows的USER.EXE | 输入法管理器 | 输入法 系统的键盘事件有windows的user.exe软件接收后,user.e
2、xe在将键盘事件传导输入法管理器(InputMethodManager,简称IMM)中,管理器再将键盘事件传到输入法中,输入法根据用户编码字典,翻译键盘事件为对应的汉字(或汉字串),然后再反传到user.exe中,user.exe再将翻译后的键盘事件传给当前正运行的应用程序,从而完成汉字的输入。二、汉字输入法的组成微软Windows9x系统中汉字输入法的名称是"InputMethodEditor",简称IME,输入法的程序名称为:*.ime,数据文件名称为*.MB,即通常说的输入法编码表(字典).实际上IME文件是一个动态连接库程序(DLL),它与dll文件没有区别,只是名称不同而
3、已。一般汉字输入法都由三个窗口组成:状态窗口(StatusWindows)-显示当前的输入法状态(中文还是英文等站环信息);编码输入窗口(CompositionWindows)-显示当前击键情况;汉字选择窗口(CandidatesWindows)-列出当前编码的全部汉字(串),供用户选择或查询。上述三个窗口由基本的用户接口(UserInterface)函数管理着。现在我们用Dumpbin.exe打开微软提供的拼音输入法(WINDOWSSYSTEMWINPY.IME)看看它有什么组成(这里一WINDOWS98为例,并假定windows系统安装在c:盘下):C:Dumpbinc:
4、windowssystemwinpy.imeMicrosoft(R)COFFBinaryFileDumperVersion6.00.8168Copyright(C)MicrosoftCorp1992-1998.Allrightsreserved.DumpoffileWINPY.IMEFileType:DLL //IME实际为dll程序SectioncontainsthefollowingexportsforWINPY.ime0characteristics34A37323timedatestampFriDec2617:04:3519970.00version1or
5、dinalbase19numberoffunctions//共有19个函数19numberofnames //对应19个名称ordinalhintRVAname100000A010CandWndProc //"选择汉字窗口"注册函数210000E750CompWndProc //"输入编码窗口"注册函数320000FB50ImeConfigure //配置当前ime参数函数430000FEC0ImeConversionList//将字符或字符串转换成目标字符540000FFA0ImeDestroy //退出当前使用的IME65000030D0ImeEnumRegi
6、sterWord760000FFB0ImeEscape//应用软件访问输入法的接口函数.8700003080ImeGetRegisterWordStyle980000E9A0ImeInquire //启动并初始化当前IME输入法1090000A800ImeProcessKey //IME输入键盘事件管理函数11A00002C20ImeRegisterWord//向输入法字典注册字符串12B000109A0ImeSelect//启动当前IME输入法13C000109E0ImeSetActiveContext//设置当前的输入处于活动状态.14D0000C850ImeS
7、etCompositionString由应用程序设置输入法编码15E0000AEE0ImeToAsciiEx //将输入的键盘事件转换为汉字编码事件16F00002F40ImeUnregisterWord//删除被注册的字符串.17100000CA90NotifyIME //IME事件管理函数181100005160StatusWndProc //状态窗口注册函数191200002350UIWndProc //用户界面接口函数Summary5000.Sh
此文档下载收益归作者所有