天天看点

chm无法显示的解决办法

昨天下载了一个C#的帮助文档,居然打不开,很是郁闷.... 后来查了查才知道 原来是这样.

chm的设计者的初衷是用来做帮助文档,其本质是一堆html网页文件的组合。后来有了专门的编译器、反编译器,人们发现chm这东西具有的html的特性,使其用来做电子书实在是又好又方便,连html里面的脚本特效什么的都能保留下来。所以现在有很多资料采用这种格式。

1、系统将chm默认关联到“windows/hh.exe”,正常时双击即可打开。本文不涉及chm打不开的情况,打不开的请参考http://zhidao.baidu.com/question/17011349.html?fr=qrl3

2、当chm文件的路径中含有“#”“%”等字符时,chm文件能够打开,但将无法显示。

原因是:打开chm文件,相当于输入一条包含文件路径的命令行语句并执行。当路径中插入“#”“%”等字符后,将使命令行的语义发生变化,导致无法正常使用chm,而此时系统又不会有出错的提示,所以很多人被困扰了。呵呵我的C#就是因为其中有了这个#.删除问题解决.

解决办法:删除路径中的特殊字符。

3、安装微软的安全更新 896358 或 890175 后,该补丁对chm的itss协议做了限制。有的chm使用了该协议,所以导致chm无法显示。

解决办法:可以修改注册表、修改安全级别、改itss.dll(这个是听说的);或者最简便的办法:右键点chm—>选属性—>选解除锁定,ok!