Известная ошибка с обновлением для системы безопасности Windows XP KB978037 может возникать в Visual Studio 2005 (и 2008), когда иногда, если вы перезапускаете сеанс отладки в консольном приложении, окно консоли не закрывается, даже если у процесса владельца нет дольше существует. Проблема обсуждается далее здесь:
Консоль отладки Visual Studio иногда остается открытой и ее невозможно закрыть
Эти окна зомби не могут быть закрыты через панель задач или через TaskManager, и, как правило, требуют выключения / включения питания, чтобы избавиться от них. В течение даже одного дня вы можете накопить довольно много из них, которые забивают вашу панель задач и, как правило, раздражают.
Я подумал, что смогу запустить простую утилиту C32 Win32, чтобы попытаться вызвать DestroyWindow () для этих окон, передав дескриптор окна в качестве аргумента строки cmd и преобразовав его в HWND.
Я преобразовываю дескриптор из строки, анализируя его как DWORD, затем приводя DWORD к HWND. Кажется, это работает так, как будто я вызываю GetWindowInfo () для дескриптора, который он успешно выполняет. Однако вызов DestroyWindow () для дескриптора завершается неудачно с ошибкой 5 (доступ запрещен), возможно, потому, что вызывающему процессу (т.е. моему приложению) не принадлежит рассматриваемое окно.
Есть какие-нибудь идеи относительно того, как можно избавиться от окон зомби, либо с помощью вышеуказанного подхода, либо с помощью любой другой альтернативы, кроме перезагрузки? Я нахожусь в корпоративной среде, поэтому установка / удаление обновлений / пакетов обновления и т. Д. Не вариант.