一、Runtime error 216 at xxxxxxxx

  这个问题的症状是:打开任何可执行文件时,都会显示:“XX(代码)指令引用的XX(代码)的内存,该内存不能为“XXX(‘read’or‘written’)”然后则会跳出:Runtime error 216 atXXXXX(代码),再然后就没什么了,当然结果就是进入不了该程序。

  不过幸好它没有把浏览器给锁掉,于是上百度狂搜,开始找到的都说是中了病毒,用杀毒软件杀毒后就可以解决,不过这个方法早试过了,没用。再查了很久才终于找到了另一种解决方法,如下:
  a 、开始菜单-运行-输入regedit-点确定-进入注册表, 在:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,应该只有一个正常的键值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。

  b 、开始菜单-运行-输入cmd 回车在命令提示符下输入:
  

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1



  如果怕输入错误的话,可以复制这条指令,然后在命令提示框点击左上角的c:\,使用下面的“编辑-粘贴”功能就不容易输错了。在飞速滚屏完全静止之后,别着急启动其他程序,先耐心等一会儿,因为此时dll们还在找位置。直到你的指示灯不闪了再做别的。
  按照他说的做完,再一试……怎么还是老样子?哦……对了,忘重启了,于是重启后问题解决!
  PS:听说原因是“系统文件缺失引起的错误”,不过我认为这很可能是病毒造成的。

http://www.jysls.com/thread-338680-1-1.html