5月
23
2008

分析Vista导致资源管理器占用CPU资源100%的问题的原因及解决办法

转自:http://www.cnblogs.com/loyee/archive/2007/08/09/848794.html

使用Windows Vista一段时间了,但资源管理器不知不觉就占用CPU资源100%,着实是件很头痛的事情。在网上搜了一大把,解决办法大同小异:去掉“以缩略图形式显示文件图标”,并选中“始终显示图标,从不显示缩略图”。这样问题虽解决了,可文件夹、文件图标很不好看,不是我们的初衷。

  昨天,偶然间打开一个文件夹,资源管理器上的地址栏又出现了烦人的进度条,立即打开任务管理器,explorer.exe 进程已占用50%上下(双核),无赖,只好终止并重启explorer进程。打开的文件夹本来是我不想要的,打算删除掉。我再次打开这个文件夹,将文件逐一删除。但删除到 Game.dat 时,一直在计算删除所需时间,结果是没动静,只好再次终止explorer进程。进入cmd,删除成功。后来我想,问题是不是在.dat文件上?

  早些时候的VCD格式就是以.dat作为扩展名。而Vista的资源管理器显示视频文件的缩略图是读取视频文件中某一帧作为图标。那么,Game.dat文件中保存的是游戏数据,当然不是视频了。问题原因应该就在这里了。

  接着做了验证测试。新建一个空文件夹test,再新建一个空文件test.txt,打开后另存为test.dat。激动的事情再次发生了。我接着测试了test.wmv,没问题,而test.mpg又有问题,打开正常的.mpg视频文件夹没问题。我想,导致Vista资源管理器占用CPU资源的真正原因便是 .dat、.mpg等一类被认为是视频格式的文件而内容不是视频。

  问题找到了,最根本的解决办法,还得 Microsoft 出面打个补丁才行。介于一般情况下,.dat文件不是视频很常见,而.mpg不是视频的情况很少。所以,我们只要删除注册表中HKEY_CLASSES_ROOT\.dat\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}项就可以解决。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.dat\ShellEx\{BB2E617C092011d19A0B00C04FC2D6C1}]

  将以上代码保存为 -dat.reg 文件,双击导入注册表。再打开原来的文件夹看看,是不是你的资源管理器就不会占用大量的CPU资源了?

关于作者:moface

博主

留下评论

博客剩余工作

6,优化前台(YSlow) 2,404页面 3,IE6下兼容性问题很大 1,标签小工具行高有点儿问题 4,微博聚合 5,推广工作 7,CDN(cloudflare

分类

访问统计