代码改变世界

僵尸窗口

2010-05-22 23:11  atempcode  阅读(409)  评论(0编辑  收藏  举报

最近用Visual Studio调试一个控制台程序时, 发现一个恼人的问题: 如果在调试的过程中中断调试, 程序的控制台窗口不会关闭. 调试一会儿, 就会留下七八个这样的窗口: 可以最大化, 最小化, 就是不能关闭; Task Manager里找不到对应进程; Spy++ 去看, 能看到窗口的handle, 而对应的进程却是invalid的. 最让人不能忍受的是有了这样的僵尸窗口后Windows不能正常关机.

我想想我的这个程序不会有怎么大的威力, 应该是系统的问题了. Google之, 果然还不少. 解决方法就是卸载Windows Update KB978037. 这个补丁更新了csrss, 它控制着WIN32系统的控制台窗口. 这是二月份的Update, 已经几个月了, 还没有修复, MS的反应速度不是一般的慢啊.