依次进行如下操作:
1> 开始→运行→输入cmd→回车,在命令提示符下输入下面命令(可复制粘贴到命令提示符窗口运行)
for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1
2> 回车运行,此项完成后再输入下面的命令
for %i in (%windir%system32*.ocx) do regsvr32.exe /s %i
回车运行。耐心等待,直到屏幕滚动停止为止。
3> 开始→运行→regedit,进入注册表,在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}(此条我的电脑里目前还没有找到),将其他的删除。如果还有一个默认为空的不用管它。开机重启,问题解决。
==========分割线==========
前半句 『for %1 in (%windir%system32*.dll) 』是用来遍历 system32 目录下的所有dll文件,并且每找到一个dll文件,就将文件名赋值给 %1
后半句『do regsvr32.exe /s %1 』就是执行 regsvr32.exe /s %1 命令,这里的 %1 就来自前半句,regsvr32.exe 则是专门用于注册dll模块的工具
整句的意思就是,查找 system32 目录下的所有dll文件并使用 regsvr32.exe 注册它们
不放心.dll文件是否被感染时可用杀毒软件进行检查。