2010-05-12 62 views
0

與Windows XP安全更新KB978037可以使用Visual Studio 2005(和2008年)發生在哪裏,有時,如果你重新啓動一個控制檯應用程序在調試會話,然後控制檯中的已知的bug即使所有者進程不再存在,窗口也不會關閉。問題是進一步討論在這裏:銷燬由Visual Studio調試會話離開過程少控制檯窗口

Visual studio debug console sometimes stays open and is impossible to close

這些殭屍窗口則無法通過任務欄或通過任務管理器關閉,通常需要關閉/打開電源,以擺脫他們。甚至在一天的時間內,你可以積累相當多的數據,這會阻塞你的TaskBar,並且通常很煩人。

我以爲我會敲一個簡單的C++ Win32實用程序,嘗試通過將窗口句柄作爲cmd行參數傳遞並將其轉換爲HWND來在這些窗口上調用DestroyWindow()。

我通過將其解析爲DWORD然後將DWORD轉換爲HWND來將字符串句柄轉換。這似乎是工作,就像我調用成功的句柄上的GetWindowInfo()。然而,調用句柄上的DestroyWindow()失敗,錯誤5(拒絕訪問),大概是因爲調用者進程(即我的應用程序)不擁有有問題的窗口。

有關我如何擺脫殭屍窗口的任何想法,無論是通過上述方法或任何其他短重新啓動嗎?我處於企業環境中,因此安裝/卸載更新/服務包等不是一種選擇。

回答