プロセスExplorer.exeには、「windows.immersiveshell.serviceprovider.dll」で始まる「開始アドレス」のスレッドがあります。それは多くの処理能力を必要とします。さらに、スリープから復帰した後、Alt + Tabダイアログで発生するクラス「MetroGhostWindow」の3つのウィンドウが生成されます。
Process Hackerでスレッドを強制終了すると、うまく機能し、リソースが解放されます。しかし、同じことを行うためのコマンドラインツールはありますか?
まあ、この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
また、Explorerが再起動するまで、すべてのMetroのものを無効にします。
P.S.これが必要なものがすべて入ったZipアーカイブです。開梱して実行するだけです。
PH(Process Hacker)のコマンドライン引数を作成できます。
あなたはProcessHacker.exe -c -ctype thread -cobject 1424 -caction terminate
を行うことができます
Process Explorer を使用してIDを取得し、終了するスレッドのTID(スレッドID)を見つけることができます。これを行うには、[プロセス]> [プロパティ]を右クリックすると、終了するスレッドが表示されます。
私の例では、TIDは7924
です。