分享

chm文件打不开的解决方法

 俊洋哥哥 2012-08-19

chm文件打不开的解决方法

今天遇到机子上的chm,网上找了半天才解决哦!



QUOTE:
小知识: CHM 意为 Compiled HTML。以CHM为扩展名的文件图标通常为一个带问号的文档图标,表示帮助文档,是 Microsoft 自 Windows 98 以来提供的一种帮助文档格式的文件,用于替代 Windows 95 下的 HLP(Help) 文件。Microsoft 自 Windows 98 以来,操作系统中都自带解释器(打开 CHM 文件的工具),即 Windows 安装目录下的 HH.EXE。CHM 文件可以通过官方免费提供了 HTML Help Workshop 生成,它的源文件是 HTML 文件。现在网络上很多电子书籍都被制作成 CHM 格式。

------------------------------------------------------------------
前几天想打开一本 CHM 格式的电子书,查点东西,没想到,打开的窗口里竟然提示不能打开页面。因为一直很少用帮助,所以也不知道是什么时候开始出现了这个问题的。因为没时间去考虑,所以先在网上查了资料,把这个问题放下了。

今天又一次打开某 CHM 文档的时候,发生了同样的问题。这次有时间。试了一下,几乎所有 CHM 文件都打不开了。看样子是打开过程(指的是系统中的操作过程,非人为操作过程)中的某个关键步骤出了问题。

CHM 的实质是通过几个特殊的协议访问压缩存在在 CHM 文件中的网页。所以,我估计可能是防火墙有鬼。于是把防火墙统统仔细检查了一遍,没有限制 CHM 文件打读取。关闭所有防火墙,CHM 仍然不能正常阅读。

也许是 HH.EXE 所必需的某个组件出了问题。但是不知道 HH.EXE 会用到些什么组件,所以上网查了一下,有人建议重新注册 hhctrl.dll。我在系统目录下找到了 hhctrl.ocx,没有找到 hhctrl.dll。就当是网上写错了,重新注册一下 hhctrl.ocx 试试:regsvr32 hhctrl.ocx。依然不能正常阅读 CHM。

既然如此,很有可能是协议出了问题。HH.EXE 用的是 ms-its 等协议,这些协议应该是由某个 DLL 文件提供服务的。问题是,是什么 DLL 呢?于是再用 Google 搜索 ms-its 协议。终于找到了,原来是一个 itss.dll 在做服务。不过网上查到的解决方案是修改注册表。看着那一堆注册表项就头痛,还是先试试偷懒的办法吧——重新注册DLL:regsvr32 itss.dll。

再试,嘿,好了,CHM 又可以正常打开了。

至于 CHM 不能打开的原因,据网上说,多半是因为 Microsoft 最近修复的一个关于 HTML Help 的漏洞有关系。不过我机器上的状况不太符合特征,管它呢,反正我又能阅读 CHM 了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多