欢迎来到天天文库
浏览记录
ID:8802844
大小:138.00 KB
页数:5页
时间:2018-04-08
《chemcad帮助文件汉化》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、CHEMCAD的汉化及其帮助文件在线功能的恢复戴斌1 徐宏11(南京化工职业技术学院化学工程系 南京210048)摘要:本文介绍了CHEMCAD的汉化技术及其帮助文件在线功能恢复,探索出了一条CHM格式帮助文件汉化后恢复在线帮助功能的技术路线:使用MicrosoftHtlmHelpWorkshop反编译原帮助文件,翻译网页格式的帮助文档,使用反向工程工具IDApro或OllyDbg追踪出原帮助文件的帮助主题ID,重新编写预定义别名和ID的头文件,连同汉化后的网页,重新使用MicrosoftHtlmHelpWorkshop编译成CHM格式的帮助文件,即可恢复汉化后帮助文
2、件的在线帮助功能。关键词汉化 在线帮助 反向工程 CHEMCAD IDApro OllyDbgLocationofCHEMCADandRecoveryofIt’sOn-lineHelpFunctionDaiBin1XuHong11(DepartmentofChemicalEngineering,NanJingCollegeofChemicalTechnology,210048,China)Abstract:Atechnicalrouteaboutrecoveringthefunctionofon-linehelpwhichischmformatfileafteriti
3、slocalizedisexplored:first,usingMicrosoftHtlmHelpWorkshoptodecompiletheoriginalhelpfileandthentranslatingthewebpages;second,usingreverseengineeringtool,IDAproorOllyDbg,totracethehelptopicIDoforiginalfile;finally,rewritingthealiasandIDintheheaderfile,alongwiththelocalizedwebpages,tobecom
4、piledintochmformathelpfilebyMicrosoftHtlmHelpWorkshopagain.Sotheon-linehelpfunctionisrestoredafterlocation.Keywords:Localizionon-linehelpreverseengineeringCHEMCAD IDApro OllyDbg0引 言化工流程模拟软件CHEMCAD作为辅助教学软件被引入到课程教学中,极大的提高师生专业知识融会贯通和应用能力;但是CHEMCAD一直是英文版的,这使得只有既懂化工流程模拟的原理又具有很强的英语水平的人才能正常的学习
5、和使用它。随着化工生产要求的进一步提高,对化工流程模拟软件的使用普及是大势所趋,然而具有大量专业词汇的流程模拟软件对广大非英语语种的工程师及高职层次的学生来说,是一个难以逾越的障碍。英文软件的汉化,网上有不少资源介绍,笔者也是在学习了这些资料后,汉化了CHEMCAD;采用的技术如下:①使用SDLPassolo汉化CHEMCAD的主窗口和菜单,②使用CHEMCAD自身的二次开发工具如DialogEditor汉化各个单元操作设备的窗口,③汉化如ctalk.xml、ctalk.msg等的外挂文件,这些文件主要用于显示消息框和结果报表,④针对结果报表中的中文乱码,使用Ultr
6、aEdit32修改CHEMCAD中相关动态链接库文件中有关字体字号的反汇编代码,⑤汉化帮助文件。⑥使用WiseInstallationSystem制作中英文版的补丁包。但是当笔者汉化了帮助文件之后,却发现无法实现其原有的在线帮助功能,着实是一个很大的遗憾,网络上也鲜有解决此问题的帖子。下面就以笔者汉化的帮助文件CC6.CHM为例,讨论一下以在线帮助功能实现机制为基础,应用反向工程来恢复在线帮助功能的技术路线。1研究方法与实现1.1选用编译和反编译CHM格式帮助文件的软件反编译帮助文件,可以将帮助文件的各个章节离解成一个个的网页文件,然后逐个翻译即可;翻译好的网页再通过
7、编译,制作成帮助文件。编译和反编译CHM格式帮助文件的软件有很多,但是考虑到今后在线功能的恢复,最好是用MicrosoftHtlmHelpWorkshop,因为它可以提供映射表的制作,这是实现在线功能所必须的步骤。1.2Htmlhelp帮助系统的接口收稿日期:2011-12-28。作者简介:戴斌,硕士,讲师,主研领域:化工流程模拟与优化。调用CHM格式的帮助文件需要用HtmlHelpAPI函数HtmlHelp(),这个函数驻留在HtmlHelpActiveX控件Hhctrl.ocx中[1]。函数HtmlHelp()语法如下[2]:HWNDHtmlHe
此文档下载收益归作者所有