chm是微软的帮助文档,许多程序的说明文档还有电子书都是用它制作的。
我们下载一个chm文档后可能经常会有打不开的情况,而在其它的一些电脑上却能正常打开,这说明不是文档本身的问题,而是系统设置的问题。
其实这是为了安全而作的一种限制,我们知道很多不安全的东西大多是通过网页传播的,网页里面可能含有各种脚本,能执行很多功能,而chm文件本质上就是编 译过的网页。从网上直接下载的网页、chm文件和exe程序都会被系统标记为来源于网络的,是不安全的,一般打开的时候都会出现警告,把“打开此文件前总 是询问”前的钩去掉可以让它对该文件不再提示。然而有时候打开chm文件不会出现提示,直接显示“该页无法显示”或者“已取消到该网页的导 航”“internet explorer 不能链接到您请求的网页”之类的错误,这该怎么办呢?
在chm文件上点右键->属性->常规->解除锁定,这样就可以打开了。
但是上述方法并不总是有效的,也许有的版本的系统根本找不到“解除锁定”这个选项,这时可以通过修改注册表解决,将以下内容打开保存到为后缀为reg的文件打开即可
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions]
"MaxAllowedZone"=dword:00000003
"UrlAllowList"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000003
"UrlAllowList"=""
这是最有效的方法,对于各种系统均能用。
那么“MaxAllowedZone”的值为3是什么意思呢?
AllowedZone是允许的区域,所有的区域包括以下几个:
本地计算机 internet 本地intranet 可信站点 受限站点
我们可以在internet选项里面找到有后四个区域,
值为0表示本地计算机,为1则表示前两个,为2为前三个,为3为前四个。
所以"MaxAllowedZone"=dword:00000003 的含义为允许在 本地计算机、internet、本地intranet、可信站点 上打开该文件。
REGEDIT4是注册表编辑器的版本,vista和windows 7里面为REGEDIT5,不过老的版本还是照样支持的。
如果chm文档所在文件夹有特殊符号也可能导致打不开的,比如新建一个文件夹,名字为“abc#”,把chm文件放进去就会打不开。
既然网络上的东西被认为是不安全的,那么为什么网上的网页里的脚本可以直接运行,下载到本地保存再打开会有警告呢?
这是因为我们浏览网页的时候网页的权限是比较低的,不能访问本机上的数据等,而如果下载到本地再打开就是以本地管理员的身份运行的,可能对系统造成损害。但是其实这个限制说实话没什么用,ie经常有各种漏洞使木马可以借此运行,本地的网页一般是安全的。
有时候下载的电子书是chm版的如果想在手机或者mp4上看,可以将它转换成txt的。chm是从网页编译过来的,当然还编译回去,然后再转成txt的,这样的工具很多,不过真正好用了不多。
用HTML Help Workshop可以创建chm文件,使用方法很简单的。
来自:
http://apps.hi.baidu.com/share/detail/33806176
posted on 2011-07-19 09:13
chunkyo 阅读(646)
评论(0) 编辑 收藏