Como faço para matar um segmento específico no Windows?

1

O processo explorer.exe tem um tópico com "endereço inicial" começando com "windows.immersiveshell.serviceprovider.dll". É preciso muito poder de processamento. Além disso, depois de acordar do sono, ele produz três janelas da classe "MetroGhostWindow", que ocorrem na caixa de diálogo Alt + Tab.

Matar o segmento com o Process Hacker funciona de forma excelente e libera recursos. Mas existe uma ferramenta de linha de comando para fazer o mesmo?

    
por Anixx 05.05.2016 / 14:22

2 respostas

1

Bem, esse script vbs faz a coisa para mim.

Coloque um atalho para ele na pasta de início automático. Coloque na mesma pasta que os utilitários de script nopey e processhacker.

Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("nopey.exe list threads Explorer.exe")
Set objStdOut = objWshScriptExec.StdOut

Do 
strLine = objStdOut.ReadLine
pos=Instr(strLine, "00000000")
If pos<>0 And Op=0 Then Exit Do
Op=Instr(strline, "TID")
Loop

Tid=CLng("&H" & (Mid(strLine, 4,4)))

'WScript.Echo Tid

objShell.Run "ProcessHacker.exe -c -ctype thread -cobject " & Tid & " -caction terminate", 0

Ele também desativa todas as coisas do Metro até que o Explorer seja reiniciado.

P.S. Aqui está o arquivo zip com todas as coisas necessárias. Apenas descompacte e execute.

link

    
por 05.05.2016 / 19:46
0

Você pode criar um argumento de linha de comando para PH (Process Hacker).

Você pode fazer ProcessHacker.exe -c -ctype thread -cobject 1424 -caction terminate

Você pode obter o ID usando o Process Explorer para encontrar o TID (ID do thread) do segmento que você quer terminar. Para fazer isso, você pode clicar com o botão direito do mouse em Process > Propriedades e você pode ver o segmento que você quer terminar.

Exemplo para mim, o TID é 7924

    
por 05.05.2016 / 16:02