销毁由Visual Studiodebugging会话留下的无进程控制台窗口

如果您在控制台应用程序上重新启动debugging会话,则Visual Studio 2005(和2008)中会出现Windows XP安全更新KB978037的已知错误,即使所有者进程不再存在,控制台窗口也不会closures。 这个问题在这里进一步讨论:

Visual Studiodebugging控制台有时保持打开状态,无法closures

这些僵尸窗口,然后不能通过任务栏或通过TaskManagerclosures,并通常需要closures/打开电源摆脱它们。 甚至在一天的时间内,你可以积累相当多的,这阻塞了你的任务栏,一般都很烦人。

我以为我会敲一个简单的C ++ Win32实用程序,尝试通过将窗口句柄作为cmd行parameter passing并将其转换为HWND来在这些窗口上调用DestroyWindow()。

我通过将其parsing为DWORD,然后将DWORD转换为HWND来从string转换句柄。 这似乎是工作,就像我调用成功的句柄GetWindowInfo()。 然而,调用句柄上的DestroyWindow()失败,错误5(访问被拒绝),大概是因为调用者进程(即我的应用程序)不拥有有问题的窗口。

任何想法如何我可以摆脱僵尸窗口,无论是通过上述办法或任何其他短路重新启动? 我在公司环境中,所以安装/卸载更新/服务包等不是一个选项。

Solutions Collecting From Web of "销毁由Visual Studiodebugging会话留下的无进程控制台窗口"