
Ich versuche, eine Möglichkeit zu finden, den Task-Manager von Chrome zu deaktivieren oder vollständig zu entfernen.
Meine vorgeschlagene Lösung besteht darin, eine im Hintergrund laufende Batchdatei zu verwenden, um festzustellen, ob der Chrome Task Manager geöffnet ist, und Chrome zu beenden, wenn dies der Fall ist. Leider kenne ich mich mit Batchprogrammierung nicht aus und habe nicht viel Zeit, um dieses Problem zu lösen.
Hier sind ein paar Ideen, die ich dazu hatte:
Dieser Befehl ermittelt, wie viele Instanzen von Chrome ausgeführt werden:
Taskliste /nh /fi "Bildname eq chrome.exe" | find /i "chrome.exe" >nul && (wmic-Prozess, wobei Name="chrome.exe" | find "chrome.exe" /c
Dieser Befehl beendet alle Chrome-Prozesse:
taskkill /im chrome.exe
Dies funktioniert nicht, da Chrome beim Öffnen des Task-Managers keinen neuen Prozess erstellt, obwohl ein neues Fenster erstellt wird. (Es gibt keine Änderung in derProzesseRegisterkarte des Windows Task-Managers, aber es gibt eine in derAufgabenTab.)
Ich werde mich mit einem Programm zufrieden geben, das Chrome schließt, wenn es erkennt, dass zwei Fenster geöffnet sind. Selbst Teillösungen sind an dieser Stelle willkommen.
Antwort1
Damit sollten Sie ein Stück weit an Ihr Ziel gelangen.
Um festzustellen, ob der Task-Manager geöffnet ist, verwenden Sie etwas wie Folgendes:
tasklist /fi "WINDOWTITLE eq Task Manager - Google Chrome" /v | find "chrome.exe"
In einer Batchdatei müssen Sie wahrscheinlich das Pipe-Zeichen maskieren:
tasklist /fi "WINDOWTITLE eq Task Manager - Google Chrome" /v ^| find "chrome.exe"
Überprüfen Sie dann %ERRORLEVEL%
, ob Sie sie gefunden haben, und töten Sie sie alle:
if "%ERRORLEVEL%" == "1" TASKKILL /IM chrome.exe /F
Ich überlasse es Ihnen, die Schleife im Stapel auszuführen (erwägen Sie sleep
auch das Hinzufügen eines).
Antwort2
Es wäre besser, lediglich das Fenster des Chrome Task-Managers zu schließen, anstatt den gesamten Browser zu beenden, was ohnehin Ihr Ziel zu sein scheint.
Wenn Sie nicht an eine Batch-Datei gebunden sind, können Sie dies ganz einfach erreichen, indem SieAutoHotkeySkript:
;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
}
}
(Wenn Sie Wert auf Sicherheit legen und den Browser sperren möchten, ist dies natürlich nicht der richtige Weg. Leider bin ich nicht sicher, ob Chrome einen sicheren Sperrmodus nativ unterstützt.)