24小时热门版块排行榜    

查看: 302  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 生物学学硕求调剂 +6 小羊睡着了? 2026-03-23 9/450 2026-03-24 20:21 by 小羊睡着了?
[考研] 求调剂 +5 林之夕 2026-03-24 5/250 2026-03-24 17:16 by dick_runner
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[考研] 293求调剂 +6 加一一九 2026-03-24 6/300 2026-03-24 14:29 by JourneyLucky
[考研] 341求调剂(一志愿湖南大学070300) +5 番茄头--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[考研] 材料专业求调剂 +11 hanamiko 2026-03-18 11/550 2026-03-23 23:12 by peike
[考研] 材料与化工085600,总分304,本科有两篇sci参与,求调剂 +4 幸运的酱酱 2026-03-22 5/250 2026-03-22 20:15 by edmund7
[考研] 260求调剂 +3 朱芷琳 2026-03-20 4/200 2026-03-22 15:12 by 朱芷琳
[基金申请] 山东省面上项目限额评审 +4 石瑞0426 2026-03-19 4/200 2026-03-22 08:50 by Wei_ren
[考研] 336求调剂 +5 rmc8866 2026-03-21 5/250 2026-03-21 17:24 by 学员8dgXkO
[考研] 330求调剂0854 +3 assdll 2026-03-21 3/150 2026-03-21 13:01 by 搏击518
[考研] 324分 085600材料化工求调剂 +4 llllkkkhh 2026-03-18 4/200 2026-03-21 01:24 by JourneyLucky
[考研] 330求调剂 +4 小材化本科 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[考研] 考研调剂求学校推荐 +3 伯乐29 2026-03-18 5/250 2026-03-20 22:59 by JourneyLucky
[考研] 材料学硕297已过四六级求调剂推荐 +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[考研] 一志愿 南京航空航天大学大学 ,080500材料科学与工程学硕 +5 @taotao 2026-03-20 5/250 2026-03-20 20:16 by JourneyLucky
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
[考研] 0856调剂,是学校就去 +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by 无懈可击111
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
信息提示
请填处理意见