使用批次檔刪除或停用 Chrome 的任務管理器

使用批次檔刪除或停用 Chrome 的任務管理器

我正在嘗試找到一種方法來停用或完全刪除 Chrome 的任務管理器。

我提出的解決方案涉及使用在背景運行的批次文件來檢測 Chrome 任務管理器是否打開,如果打開則關閉 Chrome。不幸的是,我不知道批次編程,而且解決這個問題的時間很短。

我對此有一些想法:

  • 此命令檢測正在執行的 Chrome 實例的數量:

    任務清單 /nh /fi "imagename eq chrome.exe" | find /i "chrome.exe" >nul && (wmic 流程,其中 name="chrome.exe" | find "chrome.exe" /c

  • 此命令會終止所有 Chrome 進程:

    taskkill /im chrome.exe

這不起作用,因為 Chrome 在開啟任務管理器時不會建立新進程,但它會建立一個新視窗。 (沒有變化流程Windows 工作管理員的標籤中,但有一個任務標籤。

我會選擇一個程序,如果 Chrome 檢測到打開了兩個窗口,它就會關閉 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 本身是否支援安全鎖定模式。)

相關內容