当出现这个问题的时候,第一反应是,是不是中了什么脚本病毒,然后搜查资料发现者是不一定,更可能是什么.dll文件加载失败或者丢失照成的。win系统,注册表有时间还是要好好学的,你可以完全按自己的喜好配置一番。言归正传,ie无法打开二级链接,网上很多方法,常见是用Regsvr32命令(quite useful),不过我最后还是用下面这个方法解决了,贴上:
1、制作批处理:
对于 32 位 Windows 7,请将以下代码制作为批处理:
@echo off echo. echo IE 重注册批处理(用于 32 位系统) Version 1.07, 用于 IE8 27.03.2009 echo 原作者:Kai Schaetzl http://iefaq.info echo 修改者:佘华煜(Eric)http://www.cnblogs.com/mvperic echo 本程序将尽最大可能重新安装并注册 IE8 所使用的一切 DLL. echo 这可能需要花费数秒时间,请耐心等待 :) echo. REM ****************************** echo 正在注册 IE 文件 ... regsvr32 /s /i browseui.dll regsvr32 /s corpol.dll regsvr32 /s dxtmsft.dll regsvr32 /s dxtrans.dll regsvr32 /s "%ProgramFiles%\internet explorer\hmmapi.dll" regsvr32 /s ieaksie.dll regsvr32 /s ieapfltr.dll regsvr32 /s iedkcs32.dll regsvr32 /s "%ProgramFiles%\internet explorer\iedvtool.dll" regsvr32 /s iepeers.dll regsvr32 /s "%ProgramFiles%\internet explorer\ieproxy.dll" regsvr32 /s /i /n inetcpl.cpl regsvr32 /s jscript.dll regsvr32 /s licmgr10.dll regsvr32 /s msdbg2.dll regsvr32 /s mshtmled.dll regsvr32 /s msident.dll regsvr32 /s mstime.dll regsvr32 /s "%ProgramFiles%\internet explorer\pdm.dll" regsvr32 /s tdc.ocx regsvr32 /s /i urlmon.dll regsvr32 /s vbscript.dll regsvr32 /s "%CommonProgramFiles%\microsoft shared\vgx\vgx.dll" regsvr32 /s /i /n wininet.dll echo 正在注册系统文件 ... regsvr32 /s extmgr.dll regsvr32 /s mscoree.dll regsvr32 /s oleacc.dll regsvr32 /s ole32.dll regsvr32 /s actxprxy.dll regsvr32 /s asctrls.ocx regsvr32 /s cdfview.dll regsvr32 /s comcat.dll regsvr32 /s /i /n comctl32.dll regsvr32 /s cryptdlg.dll regsvr32 /s /i /n digest.dll regsvr32 /s dispex.dll regsvr32 /s hlink.dll regsvr32 /s mlang.dll regsvr32 /s mobsync.dll regsvr32 /s /i msieftp.dll regsvr32 /s msr2c.dll regsvr32 /s msxml.dll regsvr32 /s oleaut32.dll regsvr32 /s proctexe.ocx regsvr32 /s /i scrobj.dll regsvr32 /s /i shdocvw.dll regsvr32 /s sendmail.dll regsvr32 /s /i ieframe.dll echo 正在修复注册表错误 ... reg add "HKCR\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32" /ve /t REG_SZ /d %systemroot%\system32\ieframe.dll /f echo 所有任务已完成! echo. pause
对于 64 位 Windows 7,请尝试以下代码用作批处理:
@echo off echo. echo IE 重注册批处理(用于 64 位系统) Version 1.07, 用于 IE8 27.03.2009 echo 原作者:Kai Schaetzl http://iefaq.info echo 修改者:佘华煜(Eric)http://www.cnblogs.com/mvperic echo 本程序将尽最大可能重新安装并注册 IE8 所使用的一切 DLL. echo 这可能需要花费数秒时间,请耐心等待 :) echo. REM ****************************** echo 正在注册 IE 文件 ... regsvr32 /s /i browseui.dll regsvr32 /s corpol.dll regsvr32 /s dxtmsft.dll regsvr32 /s dxtrans.dll regsvr32 /s "%ProgramFiles(x86)%\internet explorer\hmmapi.dll" regsvr32 /s ieaksie.dll regsvr32 /s ieapfltr.dll regsvr32 /s iedkcs32.dll regsvr32 /s "%ProgramFiles(x86)%\internet explorer\iedvtool.dll" regsvr32 /s iepeers.dll regsvr32 /s "%ProgramFiles(x86)%\internet explorer\ieproxy.dll" regsvr32 /s /i /n inetcpl.cpl regsvr32 /s jscript.dll regsvr32 /s licmgr10.dll regsvr32 /s msdbg2.dll regsvr32 /s mshtmled.dll regsvr32 /s msident.dll regsvr32 /s mstime.dll regsvr32 /s "%ProgramFiles(x86)%\internet explorer\pdm.dll" regsvr32 /s tdc.ocx regsvr32 /s /i urlmon.dll regsvr32 /s vbscript.dll regsvr32 /s "%CommonProgramFiles%\microsoft shared\vgx\vgx.dll" regsvr32 /s /i /n wininet.dll echo 正在注册系统文件 ... regsvr32 /s extmgr.dll regsvr32 /s mscoree.dll regsvr32 /s oleacc.dll regsvr32 /s ole32.dll regsvr32 /s actxprxy.dll regsvr32 /s asctrls.ocx regsvr32 /s cdfview.dll regsvr32 /s comcat.dll regsvr32 /s /i /n comctl32.dll regsvr32 /s cryptdlg.dll regsvr32 /s /i /n digest.dll regsvr32 /s dispex.dll regsvr32 /s hlink.dll regsvr32 /s mlang.dll regsvr32 /s mobsync.dll regsvr32 /s /i msieftp.dll regsvr32 /s msr2c.dll regsvr32 /s msxml.dll regsvr32 /s oleaut32.dll regsvr32 /s proctexe.ocx regsvr32 /s /i scrobj.dll regsvr32 /s /i shdocvw.dll regsvr32 /s sendmail.dll regsvr32 /s /i ieframe.dll echo 正在修复注册表错误 ... reg add "HKCR\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32" /ve /t REG_SZ /d %systemroot%\system32\ieframe.dll /f echo 所有任务已完成! echo. pause
2、关闭所有打开的 IE 窗口,使用任务管理器结束一切 IE 相关进相程;
3、右键单击保存好的 .bat 批处理文件,选择“以管理员身份运行”。
为什么会产生这情况呢,显然注册表被XX了。我个人是因为安装了win NT版本的硬盘恢复软件造成的,所以基于一些超早的windows系统开发的软件,为了保证在你的新系统下不会出现什么状况,最好在一些不重要的机器或者虚拟机先测试一下。当然如果你是老版本想用基于最新系统开发的软件,建议也是一样的。