1

Процесс explorer.exe имеет поток с "начальным адресом", начинающимся с «windows.immersiveshell.serviceprovider.dll». Это занимает много вычислительной мощности. Кроме того, после пробуждения он выдает три окна класса "MetroGhostWindow", которые появляются в диалоге Alt+Tab.

Уничтожение потока с помощью Process Hacker работает отлично и освобождает ресурсы. Но есть ли инструмент командной строки, чтобы сделать то же самое?

2 ответа2

1

Ну, этот скрипт VBS делает вещь для меня.

Положите ярлык к нему в папку автозапуска. Поместите в ту же папку, что и этот скрипт утилиты nopey и 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

Он также отключает все элементы Metro, пока Проводник не будет перезапущен.

PS Здесь находится zip-архив со всем необходимым. Просто распакуйте его и бегите.

http://www.eightforums.com/attachments/customization/67840d1462474574-there-way-disable-metro-interface-metrokill.zip

0

Вы можете создать аргумент командной строки для PH (Process Hacker).

Вы можете сделать ProcessHacker.exe -c -ctype thread -cobject 1424 -caction terminate

Вы можете получить идентификатор с помощью Process Explorer, чтобы найти TID (ID потока) потока, который вы хотите завершить. Для этого вы можете щелкнуть правой кнопкой мыши на Process> Properties и увидеть поток, который хотите завершить.

Пример для меня TID 7924

Отображение TID потока, который вы хотите закончить

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .