Isso me lembra quando eu estava programando o Windows Services e eles também eram impossíveis de parar de usar o Gerenciador de Tarefas do Windows.
Para resolver isso, tivemos que encontrar um código chamado EnableDebugPrivAndRun.cpp
, compilá-lo para um executável e depois iniciar o Gerenciador de Tarefas com:
C:\>EnableDebugPrivAndRun.exe TaskMgr.exe
Com isso, o Gerenciador de Tarefas foi capaz de matar qualquer processo. Cuidado, até mesmo os processos principais do Windows podem ser eliminados (como o lsass.exe no Windows 2000) e você acaba de obter uma máquina congelada.
Ainda é possível encontrar o código e o artigo completo nesse artigo da Microsoft . O código está disponível quando você clica no link chamado Figure 3
.
Eu usei isso há muito tempo, em máquinas Windows NT4 e Windows 2000, não tenho certeza se ainda funcionará para a versão mais recente do Windows e talvez agora essa ferramenta seja fornecida pelo mais recente ambiente de desenvolvimento da Microsoft.
ATUALIZAÇÃO:
Aparentemente, alguns outros usuários encontraram uma solução nesta pergunta do SuperUser e também encontrei uma ferramenta de depuração do Windows que contém um kill
que também deve executar o trabalho.
Extrato do site do MSDN:
Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)
3 ways to get Debugging Tools for Windows:
As part of the WDK Install Microsoft Visual Studio and then install the Windows Driver Kit (WDK). Debugging Tools for Windows is included in the WDK.
As part of the Windows SDK Install the Windows Software Development Kit > (SDK). Debugging Tools for Windows is included in the Windows SDK.
As a standalone tool set If you want to download only Debugging Tools for Windows, install the Windows SDK, and, during the installation, select the Debugging Tools for Windows box and clear all the other boxes.
O kit de ferramentas de depuração está disponível aqui .