前几天骤雨打新荷从网上下载了一部avi格式的电影,打开时却出现explorer.exe应用程序错误,提示:“0x69a8674c”指令引用的0x00000000内存,该内存不能为“read”。这种情况以前却从未遇到过,并且骤雨打新荷的电脑系统一直运行良好,应该与病毒或木马无关。百度一下,发现此问题是由windows自身漏洞造成的,当打开较大的avi文件时,windows会扫描该文件,尝试查询该文件的索引。如果该文件中没有索引信息,windows就执行一次循环来检查文件的所有部分,以便建立索引。当avi文件较大时,windows扫描整个文件所需的时间也较长。这样 explorer.exe进程的CPU使用率就会达到100%。从而造成系统假死或explorer.exe崩溃。解决此问题最好的方法就是关闭Windows XP系统的视频预览功能(以缩略图方式预览视频),反正这个视频预览功能的作用也不大,并且还可随时恢复。
错误图示:
解决方法:
在Windows XP中,视频文件的预览功能主要是动态链接文件“shmedia.dll”在起作用,只要依次打开“开始→运行”命令,在“运行”一栏中输入“regsvr32 /u shmedia.dll”,然后单击“确定”按钮,当出现“shmedia.dll中的DllUnregisterServer成功”的提示框时,便可成功禁止视频的预览功能了。若今后打算恢复视频预览功能,只要在“运行”一栏中输入“regsvr32 shmedia.dll”就可以了。
其实包括一些视频、音频编码/解码在内的大部分的DLL文件都是通过regsvr32 注册的,在这些DLL出问题时即可使用 regsvr32 /u 命令对单个DLL进行手动卸载,也可以用 regsvr32 命令手动注册DLL。
下面,顺便再说说 Windows XP 系统图片预览的关闭与启用。
1. 打开注册表编辑器(开始-运行-输入Regedit);
2. 找到
“HKEY_CLASSES_ROOT\SystemFileAssociations\image\ShellEX\ContextMenuHandlers\ShellImagePreview”
分支;
3. 在右窗格中将“Default”(默认项)清空即可关闭图片预览;
4. 如果需要恢复原来的设置,只要将此项的值设置为:{e84fda7c-1d6a-45f6-b725-cb260c236066}。
此文系原旧博老文,写于2011年7月。