IE无法显示png图片 IE部分图片显示为叉叉的解决办法
1、使用 开始->运行,在运行输入框中输入 “regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定)
注意,这个pngfilt.dll在有的系统中是在 c:\windows\system中的,要自己查看一下这文件在哪里,根据自己的系统修改一下路径。如果在注册时出现 “已加载 c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点。无法注册这个文件”,则表明这个文件可能损坏了,你要去别的机子去Copy一个好的过来。再进行一次注册。
2、有些人是因为自己系统的设置问题,即任意打开一个文件夹,在上方菜单上选择“工具”->“文件夹选项”->“文件类型”,选择下方的“还原”按钮。(如插图1)。
3、开始 -> 运行,在运行输入框中输入“Regedit”,到这个路径“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents
”,在右边右键“新建”->“字符串值” 紧接着最大的数字命名,我这里是3,故命名为4,并赋值为“image/png”。(见插图2)。
在国外网站并没有找到真正的解决方法,后来,再搜索时,看到某个论坛的一个回复:http://www.msusenet.com/archive/topic.php/t-1874263358.html,这里面说到有个特别的注册表位置[HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/png] !虽然这个回复似乎没有解决发言人的问题,但却启发了我,我打开Regedit,去到 [HKEY_CLASSES_ROOT\MIME\Database]一看,天哪!!!我这个键完全是空的!!!什么都没有!我再去朋友正常的机子(与我一样是WinXPSP2)上一看,这个键里的项目不止一百项………………郁闷哪!于是我把他机子的[HKEY_CLASSES_ROOT\MIME]整个键导出到mime.reg,再到我机子导入,咦,奇怪,什么都没有改变??什么都没有增加!!这里我想到了键的权限问题,在MIME键上右键,发现,权限里居然一个人都没有!于是我把MIME项整个删除,导入,再右键查看权限,正常(自己账号是全权控制的)!
解决办法1:开始->运行,在运行输入框中输入 “regsvr32 c:\\windows\\system32\\pngfilt.dll”(然后点击确定)
如果在注册时出现 “已加载c:\\windows\\system32\\pngfilt.dll,但没有找到DllRegisterSever 输入点,无法注册这个文件”,
则表明这个文件可能损坏了,你要去别的机子去Copy一个好的过来,再进行一次注册。[先要删除C:\\WINDOWS\\system32\\dllcache\\pngfilt.dll。不然由于文件保护根本拷不进去!]
解决办法2:打开注册表,到这个路径
“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Accepted Documents”,
在右边右键“新建”->“字符串值” 紧接着最大的数字命名,我这里是3,故命名为4,并赋值为“image/png”。
解决办法3:把别人机器上的“HKEY_CLASSES_ROOT\\MIME\\Database\\Content Type”下的内容倒出,在自己的机器上倒入。
症状如下:
部分图片显示为叉叉。
右键查看,发现是png的图片无法显示。
上网搜索到上面的方法,全都无效。
后来发现pngfilt.dll替换后过了会又和网上下载的dll文件大小不同。而且我的总是提示
已加载pngfilt.dll,但没有找到DllRegister server输入点!
判断是系统文件保护的原因。首先搜索出3个pngfilt.dll文件的所在地址。
依次快速替换
C:\WINDOWS\system32\dllcache
C:\WINDOWS\system32\
C:\WINDOWS\ie7\
3个位置。
当然,也可以自己直接写个批处理命令。
copy pngfilt.dll C:\WINDOWS\system32\dllcache
copy pngfilt.dll C:\WINDOWS\system32
copy pngfilt.dll c:\windows\ie7\
echo 安装成功!
start iexplore http://hi.baidu.com/无瑕
pause
另存为 修复png.bat ,注意要与pngfilt.dll放在同一路径里。
另外
传上HKEY_CLASSES_ROOT\\MIME\\Database\\Content Type的注册表备份。可能是我进行注册表优化的时候把那些东西都删了。。。
http://d.namipan.com/d/7fb34a0d009f7fceee75ca7c63a0b0c777477f4a7e920000
修复后的效果