解决win7无法打开chm格式文件的问题,CHM打不开的

解决win7无法打开chm格式文件的问题。

这篇经验是我从云盘里发现的,有些年头了,作者用的是XP,但现在用应该也没问题,已经不知道从哪个分享里面拿来的了,应该也是过了好几道手,找到原作者是不太现实的了,致谢侵删,下面原文

(一)、简单方法(本人用的这个)

如果不能打开chm格式的文件,

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

1、如果提示是:如果提示是Internet Explorer 不能链接到您请求的网页或者打开后“页面无法显示”。请下载jjhd.zip,执行。或在要打开的CHM文件上右键属性,会在底下属性中多了一个“解除锁定”,点击后就可以正常显示了。

(二)、复杂方法

jjhd.reg内容
REGEDIT4
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp]

一、如果提示是:如果提示是Internet Explorer 不能链接到您请求的网页或者打开后“页面无法显示”。
请在要打开的CHM文件上右键属性,会在底下属性中多了一个“解除锁定”,点击后就可以正常显示了。
或者在记事本中保存下列内容为00.reg:
REGEDIT4 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp] [HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xHHRestrictions] "MaxAllowedZone"=dword:00000003 "UrlAllowList"="" [HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xItssRestrictions] "MaxAllowedZone"=dword:00000003 "UrlAllowList"=""
以上内容复制到一个文本文件,然后把文件名后缀改成.reg,然后点击即可

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xHHRestrictions]
"MaxAllowedZone"=dword:00000003
"UrlAllowList"=""

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

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xItssRestrictions]
"MaxAllowedZone"=dword:00000003
"UrlAllowList"=""

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

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

四、开始--运行--输入“regedit”,打开注册表,找到以下分支: HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xItssRestrictions 在其下新建DWORD键MaxAllowedZone,将其值取成3试一下

2、如果提示是:"不能打开文件mk:@MSITStore:****.chm"

五、没有正确安装或被你删除了hh.exe文件,你可以到Windowssystem32下查一下。如果是这样那你可以从别人的电脑上copy一个 hh.exe ,放到上面那个目录里,再双击一个chm文件,让你选择程序就选那个C:windowshh.exe ,这样就恢复了chm文件和hh.exe的关联
六、如果以上几种情况都好的话,删除"hh.dat", 在目录 Documents and Settings%username%Application DataMicrosoftHTML 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_MACHINESOFTWAREMicrosoftHTMLHelp1.xItssRestrictions] "UrlAllowList"="[url=]\helpfiles;file://\helpfiles[/url]"
需要提到一点的是,默认情况下,子健1.x 下可能并不存在 ItssRestrictions子健,您需要手动创建它,然后在其下创建字符串键值 UrlAllowList 。

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

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

3、其它方法

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

3.1,从windows的控制面板进入“语言和区域”-“区域选项”,如果区域不是中文请改为中文
3.2,把文件名称改为E 文的简单一点(a.chm),copy 到一个根目录下面,打开看看,如果不行,请重新下载,有的时候下载过程出了问题,看看是否OK
3.3,如果多数CHM都打不开,试试重新注册regsvr32 itss.dll
3.4,开始--运行--输入“regedit”,打开注册表,找到以下分支:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xItssRestrictions
在其下新建DWORD键MaxAllowedZone,将其值取成3试一下
3.5,没有正确安装或被你删除了hh.exe文件,你可以到Windowssystem32下查一下。如果是这样那你可以从别人的电脑上copy一个 hh.exe ,放到上面那个目录里,再双击一个chm文件,让你选择程序就选那个C:windowshh.exe ,这样就恢复了chm文件和hh.exe的关联
3.6,如果以上几种情况都好的话,删除"hh.dat", 在目录
Documents and Settings%username%Application DataMicrosoftHTML Help 下,这个文件包含一些内容可能引起错误

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

4、开始--运行--输入“regedit”,打开注册表,找到以下分支:

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

HKEY_LOCAL_MACHINESOFTWAREMicrosoftHTMLHelp1.xItssRestrictions
在其下新建DWORD键MaxAllowedZone,将其值取成3试一下

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

5、没有正确安装或被你删除了hh.exe文件,你可以到Windowssystem32下查一下。如果是这样那你可以从别人的电脑上copy一个 hh.exe ,放到上面那个目录里,再双击一个chm文件,让你选择程序就选那个C:windowshh.exe ,这样就恢复了chm文件和hh.exe的关联

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

6、如果以上几种情况都好的话,删除"hh.dat", 在目录
Documents and Settings%username%Application DataMicrosoftHTML Help 下,这个文件包含一些内容可能引起错误

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

这个可能是系统Dll文件或者程序DLL文件被删除了,但是注册信息还留在注册表里面,所以系统启动时会加载,从而出现错误。

注册表修改法:“开始”→“运行”处输入“regedit”,在

“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun”中,右边窗口找到残留的程序名删除。或者打开注册表编辑器 ,在编辑→查找中,输入出错文件名,把搜到的删除,按F3键,搜索下一个,直到删完所有的为止。

开始菜单-运行-输入msconfig回车
在里边的启动栏里把.dll前面的勾去掉就行了
1、开始——运行——msconfig——启动——把加载项
*.dll的那个勾勾去掉。 重启电脑,通常到这就可以了,如果还弹出来再进行第二步
2、开始——运行——regedit 在下面的位置删除相应键值: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
.根据你的描述,那应该是一个已被删除了的病毒或间谍软件。但也有可能是你卸载某个软件不正确留下的残留.

dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。
如果你点击“确定”后,系统没有什么不正常,并且可以正常运行的话,你可以用这个软件清理掉这个开机加载项,以后开机就不会出现这个信息了。

CHM打不开2009年01月02日 星期五 20:36复制别人一篇。懒得再写。

今天去上SSD8的课程,课中,一个同学叫我过去,说:“老师,你做的那个课件在桌面上打不开,是怎么回事呢?”我打了一下,提示:“mk:@MSITStore:C:Documents and Settingstinylee桌面SSD8教程。chm”,这样的问题我以前遇到过,是在小松的机子上。当时我论定是他的机子中病毒了,没有去解决,今天遇到这样的问题,这样解释显然是不行的啊。
 
  那个课件的制作一直是我引以为傲的事情,今天居然打不开了,挺郁闷的,我说:“你先去Carnegie上面吧,我研究一下。”
 
  正说着,又有两个男生发生了同样的事情,我开始怀疑是不是他们从FTP下载的时候,文档被破坏了,我在教师机上重新下了一个,打开没有问题。
 
  这一下挑起了我的兴趣,开始在网上找资料,找了好久,试了很多办法,有一个方法好像有效:在打开chm的路径上,不能出现汉字。也就是说:把那个chm的路径变成:d:ssd8.chm,打开就没有问题了。
 
  可是这显然没有解决问题的根本,我继续在网上找找啊……终于找到一篇 :)
 
  ----------------------------------------------------------------------
 
  不能打开CHM文件的原因分析及解决方法
 
  这次重装了Windows系统,心想不应该再有什么问题,没想到居然碰上了CHM打不开的情况。双击一个中文命名的CHM文件例如“全唐诗。CHM”,弹出一个对话框:“不能打开文件:mk:@MSITStore:F:全唐诗。chm”
 
  记得以前这种情况也发生过,当时因为事情多,没有功夫理它,只是把文件名改成英文了事。现在又发生这种情况,一定要把它了结掉。
 
  我本来想打开的CHM文件应该是“F:全唐诗。chm”,为什么错误报告中提到的文件名前面多了一串乱七八糟的“mk:@MSITStore:”?难道系统把我本来的文件名擅自篡改了吗?必须观察一下系统打开文件的过程。我使用了工具filemon(http://www.sysinternals.com/ntw2k/source/filemon.shtml)
 
  来监视系统打开文件的过程,结果发现系统在发出“叮”的一声报告错误之前试图对以下文件取属性:F:全唐诗。CHI 但是RESULT为“NOT FOUND”。难道它要打开的文件是“全唐诗。CHI”?于是我把文件的扩展名改成CHI,结果是连文件关联都不存在了,更别说打开了。
 
  用Filemon没有解决任何问题。看来只好求助于SoftICE来追踪了。我首先想到的是在CreateFileA这个API上面设个断点,这样好监视系统究竟打开了什么文件,结果发现系统试图打开一个叫“F:???.CHM”的文件并且失败了:galiletteMay 18 2004, 09:55 AM
 
  看来问题就在这里了,现在要搞清楚这个“???.chm”究竟是怎么来的,为什么文件名无端地变成了问号。继续追踪,发现在打开文件之前,系统调用一个叫WideCharToMultiByte的API把Unicode编码的字符串转化成Ansi字符串,但是转化的结果却是错误的:galiletteMay 18 2004, 09:56 AM
 
  现在错误的关键原因已经找到了,就是WideCharToMultiByte这个API的调用有问题。查“Win32 Programmer's Reference”手册或者MSDN发现,这个API的第一个参数是代码页(CodePage),而这个代码页与Windows的语种有关。例如简体中文的CodePage是936,繁体中文是950,英文就是1252。仔细观察上面的跟踪过程,我发现我机器的代码页居然是1252(英文),而不是简体中文的936。 这下我明白了,我赶紧打开控制面板,找到“区域设置”一
 
  解决办法:竟然是“英语(美国)”。立即把它改成“中文(中国)”,它说要重新启动,我没理它,不重启。重新打开“全唐诗.CHM”,终于Ok了。

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:解决win7无法打开chm格式文件的问题,CHM打不开的

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。