explorer.exe 进程有一个线程,其“起始地址”以“windows.immersiveshell.serviceprovider.dll”开头。它占用大量处理能力。此外,从睡眠状态唤醒后,它会生成三个“MetroGhostWindow”类窗口,这些窗口位于 Alt+Tab 对话框中。
使用 Process Hacker 终止线程效果很好,可以释放资源。但是有没有命令行工具可以做同样的事情?
答案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 功能,直到 Explorer 重新启动。
PS 这是包含所有必需内容的 zip 存档。只需解压并运行即可。
答案2
您可以为 PH(Process Hacker)创建命令行参数。
你可以做ProcessHacker.exe -c -ctype thread -cobject 1424 -caction terminate
您可以使用以下方式获取 ID进程探索器找到要结束的线程的 TID(线程 ID)。为此,您可以右键单击“进程”>“属性”,然后就可以看到要结束的线程。
例如,TID 是7924