前些天在网上搜罗了些C++的经典书籍,大多是.chm格式的。刚刚有空,想拿来读读,可是郁闷的事情发生了,点击目录时,右面竟然显示“该页无法显示”!
郁闷,下的时候还好好的,怎么现在就down了呢?难道是病毒?
百度了问题之后,发现答案前篇一律:
一.
1、开始运行,输入:regsvr32 C:\windows\system32\hhctrl.ocx ,确定,重新关联文件。
2、执行一下windows目录里的hh.exe 。
二.
1. 在微软网站上下载hhupd.exe,安装hh.exe后并运行。
2.实际上,下载hhupd.exe后,运行后就可以了。这个东西大小为461kb 3.在c:\windows\system32里找到“Hhctrl.ocx”文件,然后运行:“regsvr32 c:\windows\system32\hhctrl.ocx...
三
1,右键关联chm文件的“打开方式”到\Windows\HH.exe
2,在命令行运行regsvr32 itss.dll
3,在命令行运行regsvr32 hhctrl.ocx
但这些方法我对我却丝毫不起作用,于是只能自寻出路。我试着把某个文件copy到桌面上,试着打开,居然成功了。直觉告诉我,问题出在文件夹的名称上。因为我突然想起自己在整理之后把目录名称改成了"C__C++__C#”,于是试探性的更改了文件夹名称,试了几次,终于确定了罪魁祸首——是“#”。把"C#”改成"C Sharp"以后,问题解决了。
那究竟为什有了"#"就不行了呢?因为.chm是以html格式存储内容的,所以每一页都对应了一个本地的URL地址。在URL地址的标准规定中"#"是属于特殊字符,代表书签,详细的标准说明可以参看这里http://www.128kj.com/article/article9/D15BCF6C477EAA03699B8B9FB25B3CD9.htm?id=675。
如果目录名称里含有"#"或者其他特殊字符的话,URL地址就因此而被中断了,自然“该页无法显示”。