24小时热门版块排行榜    

查看: 320  |  回复: 0
当前主题已经存档。

akangln

木虫 (著名写手)

[交流] 如何编译和反编译chm文件

一 如何阅读chm文件

如果您的IE不能直接打开chm文件,请
下载一个“CHM反编译工具”(http://www.onlinedown.net/soft/47759.htm
然后将你的CHM文件反编译成.htm的网页文件,就可以浏览了。

二 编译你的HTML网页
CHM文件是一种“已编译的HTML文件”,是微软对帮助文件.hlp的升级,它利用开放的HTML使帮助文件更精彩实用,愈来愈多的电子书采用了CHM格式,然而少有人知的是它在主页中的应用。由于CHM与IE浏览器系出同门,使用IE可以直接访问CHM文件中包含的文件而不必打开“帮助”窗口。比如在Win98(默认安装目录)的“运行”栏中键入“mk:@MSITStore:C:\WINDOWS\Help\windows.chm::/default.htm”,将会在浏览器中打开Windows的帮助系统。

让我们分析一下上面那个地址:“mk:@MSITStore:”就如同“http://”,标示访问文件的类型,而“C:\WINDOWS\Help\windows.chm”无疑是CHM文件的位置,最后的“/default.htm”是包含在CHM文件中的内部文件名,“::”只是一个分隔符。既然如此,如果将CHM文件上传到服务器来访问会不会成功呢?经笔者实验,只要将文件位置改变一下即可,而且绝对路径、相对路径均可!那么在个人主页中应用CHM有什么好处呢?

三、CHM的优点
1.减小文件体积,方便管理。对于偏文本信息的站点,CHM有突出的优势——压缩率比WinZip还要大!如果我们将主页各栏目各自做成一个CHM文件,由于文件数量减少了,那么不管是使用FTP还是Web方式上传维护都会很方便,而且特省空间!只能使用Web方式上传的斑竹们可以歇歇手腕偷着乐了:-)

2.突破文件限制。CHM格式不仅仅可以包含HTML文件,实际上它可以将任何文件编译到文件中。如今免费个人主页总是限制这限制那,连EXE都不能直接上传,使用CHM就可轻松搞定啦!

3.消除广告。免费个人主页空间的提供者往往会在你的主页上放置广告,这本无可厚非,但有的太过分:或一页蹦出一个广告窗口,或将广告嵌入你的网页,完全破坏你精心的设计;而当你使用CHM文件时,服务器只知道你在访问一个二进制文件,所以不会乱蹦乱改,不信你去中文雅虎(http://cn.yahoo.com)试试!

4.加快访问速度。如果你一个栏目是一个CHM文件,那么你的访客会惊喜地发现,除了第一次访问有点慢,随后的访问就好像网站在硬盘上一样。实际上第一次访问以后,CHM文件被下载到IE的缓存中,随后的访问根本就是在读硬盘,这会使访客觉得你的网站速度很稳定。

世上没有十全十美的东西,CHM文件格式也有弊端:即使你只访问CHM文件中的一个包含文件,IE也会下载整个CHM文件,这导致访客第一次访问很慢。目前的解决方法只有两个:一是分割内容,使用较小的CHM文件(建议不要超过50KB,要照顾拨号上网的朋友嘛),如每个栏目或主题对应一个CHM文件;二是在上一页面预下载CHM文件。

四、制作CHM文件
关于制作CHM文件的工具,我们可以使用微软的HTML Help Workshop(以下简称HHW)或者“国华软件工作室”的eText Wizard(电子文档处理器,以下简称EW)。HHW在VB、VC等开发工具的CD中都有,也可以到微软的站点去下载最新版本,华军软件园(http://www.newhua.com)还有汉化的版本。EW是国人开发的软件,使用上要方便一些,下载地址为http://chmbook.363.net,在此我们以HHW为例。

假设我们制作好的主页放在C:\test目录中,其中有一个index.html,通过它可以链接到所有其他的文件。

1.打开HTML Help Workshop,单击“File→New”菜单(或者单击工具栏第一个按钮),出现“New”对话框,选择其中的“Project”后,按“OK”,创建一个工程。

2.这一步的对话框提供了从*.hlp到*.chm文件的转换,在此我们不需要,直接按“下一步”。

3.这一步的对话框要求指定工程的位置。单击“Browse”,进入C:\test目录,并在文件名中键入“test”,这时文本框中应出现“C:\test\test.hlp”,然后按“下一步”。

4.这一步要求选择你已为工程创建的文件类型,在此我们选择第三个“HTML files(.htm)”。

5.现在需要添加我们制作好的HTML文件,按“Add”,选择“C:\test\index.html”,将它添加到列表框。说明一下,只要被index.html文件直接或间接链接到的文件,都会包含进去,因此不必将所有的文件添加进去!然后单击“完成”即可。

6.单击“File→Compile…”(或工具栏第三个按钮),出现“Create a compiled file”对话框,直接单击“Compile”。

7.测试

在资源管理器中双击生成的C:\test\test.chm,在页面单击右键,在菜单中选择“属性”,在“属性”对话框中复制其中的“地址”(应该为mk:@MSITStore:C:\test\test.chm::/index.html)。将上面的地址粘贴到浏览器的地址栏中,如果正确,按回车可以在浏览器中看到正确的页面。

五、网上发布
1.将test.chm上传到个人主页空间,这里假定为http://www.testchm.com

2.将地址修改为:mk:@MSITStore:http://www.testchm.com//test.chm::/index.html

3.到http://my.126.com申请一个免费域名,让它指向上面那个地址。

4.用浏览器访问申请到的免费域名,确认成功。

相信按照上面严格的步骤,你已尝到成功的喜悦。但以上方法使整个网站变成了一个CHM文件。如果我们只希望将其中的一个栏目做成CHM文件呢?这就需要使用相对地址了。以下假设我们的网站中有一个“笑话”栏目,我们已将它做成了joy.chm放在跟首页文件相同的目录下面,这时我们要对首页作如下的修改:

链接修改为:精彩笑话

添加预下载标签:
或者

注:如果文件小于50KB可以不添加。

希望CHM文件能够让你的网页更精彩!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 akangln 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 4FFAWE8HcgUD 2026-08-29 4/200 2026-08-31 03:18 by hZiFeudZyoGR
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 jCd0dEvKHShX 2026-08-29 6/300 2026-08-31 02:54 by hZiFeudZyoGR
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 jCd0dEvKHShX 2026-08-29 6/300 2026-08-31 02:45 by hZiFeudZyoGR
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 jCd0dEvKHShX 2026-08-29 5/250 2026-08-31 02:13 by hZiFeudZyoGR
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 G6APbkg8SA6w 2026-08-29 5/250 2026-08-31 02:00 by hZiFeudZyoGR
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 gy1nBQXYQJqL 2026-08-29 8/400 2026-08-31 01:26 by hZiFeudZyoGR
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +7 gy1nBQXYQJqL 2026-08-29 9/450 2026-08-31 01:15 by hZiFeudZyoGR
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 4FFAWE8HcgUD 2026-08-29 5/250 2026-08-30 20:29 by hZiFeudZyoGR
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 G6APbkg8SA6w 2026-08-29 5/250 2026-08-30 18:51 by hZiFeudZyoGR
[博后之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 18:28 by hZiFeudZyoGR
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-30 17:47 by hZiFeudZyoGR
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ASdOkHsho7FD 2026-08-28 9/450 2026-08-30 11:19 by l0VvVHGBGRLv
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
信息提示
请填处理意见