
Chrome のタスク マネージャーを無効にするか、完全に削除する方法を見つけようとしています。
私が提案する解決策は、バックグラウンドで実行されるバッチ ファイルを使用して、Chrome タスク マネージャーが開いているかどうかを検出し、開いている場合は Chrome をシャットダウンすることです。残念ながら、私はバッチ プログラミングを知らず、この問題を解決する時間があまりありません。
これに関して私が考えたアイデアをいくつか紹介します。
このコマンドは、実行中の Chrome インスタンスの数を検出します。
tasklist /nh /fi "imagename eq chrome.exe" | find /i "chrome.exe" >nul && (wmic process where name="chrome.exe" | find "chrome.exe" /c
このコマンドはすべての Chrome プロセスを終了します。
タスクキル /im chrome.exe
これは、タスクマネージャが開かれたときにChromeが新しいウィンドウを作成するものの、新しいプロセスを作成しないため機能しません。(プロセスWindowsタスクマネージャーのタブには表示されませんが、タスクタブ。)
現時点では、たとえ部分的な解決策であっても歓迎しますが、Chrome のウィンドウが 2 つ開いていることを検出すると Chrome をシャットダウンするプログラムがあれば満足です。
答え1
これである程度は目的を達成できるはずです。
タスク マネージャーが開いているかどうかを検出するには、次のようにします。
tasklist /fi "WINDOWTITLE eq Task Manager - Google Chrome" /v | find "chrome.exe"
バッチ ファイルでは、パイプ文字をエスケープする必要がある可能性があります。
tasklist /fi "WINDOWTITLE eq Task Manager - Google Chrome" /v ^| find "chrome.exe"
次に、%ERRORLEVEL%
チェックを使用して、見つかったかどうかを確認し、すべてを強制終了します。
if "%ERRORLEVEL%" == "1" TASKKILL /IM chrome.exe /F
バッチでループするのはお任せします ( の追加sleep
も検討してください)。
答え2
ブラウザ全体を終了するのが目的のようですが、それよりも Chrome タスク マネージャー ウィンドウを閉じる方がよいでしょう。
バッチファイルを使用しない場合は、これを実現する簡単な方法は、オートホットキー脚本:
;Script paramters
#SingleInstance, force
#Persistent
SetBatchLines, -1
Process, Priority,, High
;Set up window hook
Gui +LastFound
hWnd:=WinExist()
DllCall("RegisterShellHookWindow", UInt,hWnd)
MsgNum:=DllCall("RegisterWindowMessage", Str,"SHELLHOOK")
OnMessage(MsgNum, "ShellMessage")
HSHELL_WINDOWCREATED:=1
Return
;Hook function
ShellMessage(wParam,lParam)
{
if (wParam=HSHELL_WINDOWCREATED) ;Window created
{
WinGetTitle, Title, ahk_id %lParam% ;Get window title
if (Title="Task Manager - Google Chrome") ;Check if Chrome Task Manager
WinClose, ahk_id %lParam% ;Close it
}
}
(もちろん、セキュリティを重視してブラウザをロックダウンしようとしている場合、これは正しい方法ではありません。残念ながら、Chrome がネイティブで安全なロックダウン モードをサポートしているかどうかはわかりません。)