欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

在win7中chm打不开的多种解决方法

程序员文章站 2023-12-05 20:37:10
这篇文章主要介绍了在win7中chm打不开的多种解决方法,需要的朋友可以参考下... 16-12-23...

我今天遇到了个非常棘手的问题,想看看资料,却打不开chm帮助文件。
我装的是64位win7,打开chm文件时,系统提示我安全问题,强行打开,却无法显示内容,得到的提示是“该页导航被取消”,郁闷啊,头痛啊,怎么办啊,急急如火令……
只有找google兄弟帮忙了,一搜,一大堆。
看了看,挺麻烦,要修改注册表,如不慎,将崩溃。完了,这难哈。
不过,没办法,还要解决问题啊,工作不等人的。
还好,经过我的不懈努力,加上我的聪明才智,最后找到了最简单最有效解决方法了。无需任何改变。。无需任何担心。。。
现在把这个方法贴出来,共大家分享。

1.打开chm
2.win7提示安全问题
3.chm无法显示内容
4.关闭chm
5.右键点击chm,点击“解除锁定”,ok 没有“解除锁定”,晕。。。请往下
6.右键点击chm,点击“压缩到*.rar”,压缩chm
7.双击生成的压缩文件*.rar
8.在rar中双击chm,文件打开,ok,什么都有了。
9.问题解决


很简单吧。


下面我们网上贴的超级复杂的方法转帖出来,供大家研究。

一、如果提示是:如果提示是internet explorer 不能链接到您请求的网页或者打开后“页面无法显示”。
请在要打开的chm文件上右键属性,会在底下属性中多了一个“解除锁定”,点击后就可以正常显示了。
或者在记事本中保存下列内容为00.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"=""


以上内容复制到一个文本文件,然后把文件名后缀改成.reg,然后点击即可

二、如果提示是:"不能打开文件mk:@msitstore:\****.chm" 造成这个故障有可能是你的系统中的hhctrl.ocx文件丢失或者被其他版本的hhctrl.ocx覆盖掉了,可以从相同的电脑或者安装光盘中拷贝过来 一个,然后重新注册hhctrl.ocx文件:具体步骤如下: 第一步:退出正在运行的所有程序,单击“开始-〉程序”; 第二步:在运行对话框键入"regsvr32 c:\windows\system\hhctrl.ocx"回车,或”regsvr32 /i hhctrl.ocx“出现"dllregisterserver成功"消息确定,重启计算机即可。


三、其它方法
1,从windows的控制面板进入“语言和区域”-“区域选项”,如果区域不是中文请改为中文
2,把文件名称改为e 文的简单一点(a.chm),copy 到一个根目录下面,打开看看,如果不行,请重新下载,有的时候下载过程出了问题,看看是否ok
3,如果多数chm都打不开,试试重新注册regsvr32 itss.dll
(1)右键关联chm文件的“打开方式”到\windows\hh.exe
(2)在命令行运行regsvr32 itss.dll
(3)在命令行运行regsvr32 hhctrl.ocx
(4)开始--运行--输入“regedit”,打开注册表,找到以下分支: hkey_local_machine\software\microsoft\htmlhelp\1.x\itssrestrictions 在其下新建dword键maxallowedzone,将其值取成3试一下
5,没有正确安装或被你删除了hh.exe文件,你可以到 windows\system32下查一下。如果是这样那你可以从别人的电脑上copy一个hh.exe ,放到上面那个目录里,再双击一个chm文件,让你选择程序就选那个c:\windows\hh.exe ,这样就恢复了chm文件和hh.exe的关联
在微软网站上下载hhupd.exe,安装hh.exe后并运行。 2.实际上,下载hhupd.exe后,运行后就可以了。这个东西大小为461kb 3.在c:\windows\system32里找到“hhctrl.ocx”文件,然后运行:“regsvr32 c:\windows\system32\hhctrl.ocx...
6,如果以上几种情况都好的话,删除"hh.dat", 在目录 \documents and settings\%username%\application data\microsoft\html help 下,这个文件包含一些内容可能引起错误

四、开始--运行--输入“regedit”,打开注册表,找到以下分支: hkey_local_machine\software\microsoft\htmlhelp\1.x\itssrestrictions 在其下新建dword键maxallowedzone,将其值取成3试一下

五、没有正确安装或被你删除了hh.exe文件,你可以到windows\system32下查一下。如果是这样那你可以从别人的电脑上copy一个 hh.exe ,放到上面那个目录里,再双击一个chm文件,让你选择程序就选那个c:\windows\hh.exe ,这样就恢复了chm文件和hh.exe的关联
六、如果以上几种情况都好的话,删除"hh.dat", 在目录 \documents and settings\%username%\application data\microsoft\html help 下,这个文件包含一些内容可能引起错误
方法 1
1. 双击此 .chm 文件。
2. 在“打开文件安全警告”对话框,单击以清除“打开此文件前始终询问”复选框。
3. 单击“打开”。
方法 2
1. 右键单击该 chm 文件,然后单击“属性”。
2. 单击“取消阻止”。
3. 双击此 .chm 文件以打开此文件。 chm文件无法打开问题的解决 刚从家回来,重新安装了系统,发现原来可以正常打开的chm文件无法打开了,自己试着解决了,发出来共享一下。 系统版本 xp sp2专业版本。
问题:chm文件打开无法显示 “chm格式的文件无法显示,而且windows 2000上正常,windows xp上打开后显示无法找到页面。 在某些chm文件中可能会使用到infotech协议,而它包含3种协议:ms-its 、its、mk:@msitstore 。利用这些协议,恶意攻击者或者恶意代码将可能导致帮助产生溢出漏洞,从而控制计算机。而ms最新公布的安全更新ms05-026 kb896358修正了这一情况,并屏蔽了远程链接,这就导致了使用了远程链接的一些chm页面开启失败。趋势安全站点对此漏洞作出了如下描述: 这个安全问题来自于早先公布的微软html help漏洞。html help是windows平台上的标准帮助系统。作者可以使用它为程序或者多媒体主题或者web站点创建在线的帮助文件。 由于html help并不会完全校验输入数据的特性,导致这一点可能被利用。一个特殊的chm文件可以导致帮助系统溢出,这个溢出如果被利用,就可以用于执行恶意代 码。 这样的恶意chm文件可以使用“ms-its”协议,通过ie开启。开启后的chm文件不再需要用户的参与,就能够自动执行恶意chm文件和附随的代 码。“ms-its”协议是infotech 协议的一部分,该协议能够 为itss.dll或者微软infotech storage system library所执行。当然,这些恶意的程序无法靠自身传播,仍然需要用户在特定的位置,通过ie和“ms-its”协议访问恶意的chm文件。 这种情况一旦发生,如果受影响的用户当前登录身份是管理员,远程代码执行的漏洞可以允许恶意用户或者恶意软 件,获得受影响系统的完全控制权限。 从而这个恶意用户或者恶意程序得以在此系统上执行代码,并使用完全控制权限安装或者运行程序,并能够察看或者编辑数据。因此,这个漏洞同样也能够被用于复 制。
解决方法如下: [hkey_local_machine\software\microsoft\htmlhelp\1.x\itssrestrictions] "urlallowlist"="[url=]\\\helpfiles\;file://\\\helpfiles[/url]"
需要提到一点的是,默认情况下,子健1.x 下可能并不存在 itssrestrictions子健,您需要手动创建它,然后在其下创建字符串键值 urlallowlist 。

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

方法 4
安装微软的安全更新 896358 或 890175 后,该补丁对chm的itss协议做了限制。有的chm使用了该协议,所以导致chm无法显示。
解决办法:可以修改注册表、修改安全级别、改itss.dll(这个是听说的);

方法 5
修改注册表
1)新建一个文本文件
2)添加如下内容:
regedit4
[hkey_local_machine\software\microsoft\htmlhelp]
[hkey_local_machine\software\microsoft\htmlhelp\1.x\itssrestrictions]
"maxallowedzone"=dword:00000003
另存为htmlhelp.reg(或其它名称,只要是reg格式就行)
3)双击刚刚新建的reg文件,将它导入注册表,ok,问题搞定
不过这种方法不安全,因为它将将浏览区域等级调整为3了,存在安全隐患,故不推荐。

方法 6
查找目录名称是否有问题,目录名称中有 "#" 字符,去掉有 chm 文件就显示正常了。

方法 7
有时候如果chm是中文也会打不开,改成英文字符试验下。
方法 8
右键单击该 chm 文件,然后单击“属性”, 单击“解除锁定”,. 双击此 .chm 文件以打开此文件。

方法 9
如果都不能,最后一招就是,把电子书chm格式转换为pdf文件:
给你一个软件:
chm converter是一个专门转换chm格式的文件,它可以把chm文件转换成pdf、txt、doc等常用的格式。

下载后运行软件,软件默认是英文界面,我们可以点击菜单“tools-language”,在弹出的对话框中选择 “chinese_simplified”就可以换成中文了,软件还支持其他很多语言。
选好语言后点击左上角的“打开”按钮来选择要转换的chm文件,如果chm文件是英文版的,那么在旁边的下拉菜单中就选择 “defailt_charset”,如果是中文的,那需要在下拉菜单中选择“gb2312_charset”,否则会产生乱码,然后在右面的“导出”中来选择要转换的文件类型, 软件支持很多格式的文件,如这里选择“word97-2003”,最后点击“另存数据库为”按钮,选择保存的文件夹后就开始进行转换了。