Удаление или отключение Диспетчера задач Chrome с помощью пакетного файла

Вопрос или проблема

Я пытаюсь найти способ либо отключить, либо полностью удалить Диспетчер задач 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:

    taskkill /im chrome.exe

Это не срабатывает, потому что Chrome не создает новый процесс, когда открывается Диспетчер задач, хотя и создает новое окно. (Нет изменений на вкладке Процессы в Диспетчере задач Windows, но есть изменения на вкладке Задачи.)

Я согласен на программу, которая закроет Chrome, если обнаружит открытыми два его окна, частичные решения также приветствуются на данном этапе.

Это должно помочь вам продвинуться в решении проблемы.

Для определения, открыт ли Диспетчер задач – используйте что-то вроде этого:

tasklist /fi "WINDOWTITLE eq Диспетчер задач - Google Chrome" /v | find "chrome.exe"

В пакетном файле, вероятно, вам нужно будет экранировать символ трубы:

tasklist /fi "WINDOWTITLE eq Диспетчер задач - Google Chrome" /v ^| find "chrome.exe"

Затем используйте проверку %ERRORLEVEL%, чтобы узнать, был ли найден процесс, и завершите все процессы:

if "%ERRORLEVEL%" == "1" TASKKILL /IM chrome.exe /F

Я оставлю вам задание сделать цикл в пакетном файле (расмотрите возможность добавления sleep также).

Лучше просто закрыть окно Диспетчера задач Chrome, чем убивать весь браузер, что, кажется, является вашей целью.

Если вы не привязаны к пакетному файлу, то легкий способ добиться этого – использовать скрипт AutoHotkey:

;Параметры скрипта
#SingleInstance, force
#Persistent
SetBatchLines, -1
Process, Priority,, High

;Настройка перехвата окна
Gui +LastFound
hWnd:=WinExist()
DllCall("RegisterShellHookWindow", UInt,hWnd)
MsgNum:=DllCall("RegisterWindowMessage", Str,"SHELLHOOK")
OnMessage(MsgNum, "ShellMessage")
HSHELL_WINDOWCREATED:=1
Return

;Функция перехвата
ShellMessage(wParam,lParam)
{
    if (wParam=HSHELL_WINDOWCREATED)               ;Окно создано
    {
        WinGetTitle, Title, ahk_id %lParam%        ;Получить название окна
        if  (Title="Диспетчер задач - Google Chrome") ;Проверить, является ли Диспетчером задач Chrome
            WinClose, ahk_id %lParam%              ;Закрыть его
    }
}

(Конечно, если вы ищете безопасность и пытаетесь закрыть браузер, то это не самый лучший способ. К сожалению, я не уверен, что Chrome изначально поддерживает режим безопасной блокировки.)

Ответ или решение

Для решения задачи отключения или удаления диспетчера задач Google Chrome с помощью пакетного файла (batch-file), можно использовать несколько подходов. Однако следует отметить, что полностью удалить или отключить встроенный диспетчер задач Chrome не получится, так как это является частью самого браузера. Тем не менее, можно настроить пакетный файл для автоматического закрытия Chrome, если обнаруживается диспетчер задач.

Решение с помощью пакетного файла

  1. Создание пакетного файла

    Вы можете создать пакетный файл с таким содержимым:

    @echo off
    :loop
    tasklist /fi "WINDOWTITLE eq Task Manager - Google Chrome" /v ^| find "chrome.exe" >nul
    if "%ERRORLEVEL%"=="0" (
       taskkill /IM chrome.exe /F
    )
    timeout /t 5 >nul
    goto loop

    Этот скрипт будет выполнять следующие действия:

    • Проверять, открыт ли диспетчер задач Chrome каждые 5 секунд.
    • Если обнаружен диспетчер задач, то завершать все процессы Chrome.
  2. Сохранение файла

    • Сохраните этот скрипт с расширением .bat, например CloseChromeTaskManager.bat.
  3. Запуск скрипта

    • Запустите созданный пакетный файл. Важно запускать его с правами администратора, чтобы он мог завершать процессы других приложений.

Альтернативное решение с помощью AutoHotkey

Если вы хотите более элегантный способ закрытия диспетчера задач Chrome, можно использовать AutoHotkey. Вот пример скрипта:

#SingleInstance, force
#Persistent
SetBatchLines, -1
Process, Priority,, High

; Установка хуков для окон
Gui +LastFound
hWnd:=WinExist()
DllCall("RegisterShellHookWindow", UInt,hWnd)
MsgNum:=DllCall("RegisterWindowMessage", Str,"SHELLHOOK")
OnMessage(MsgNum, "ShellMessage")
HSHELL_WINDOWCREATED:=1
Return

; Хук обработки сообщений
ShellMessage(wParam,lParam)
{
    if (wParam=HSHELL_WINDOWCREATED)               ; Создание окна
    {
        WinGetTitle, Title, ahk_id %lParam%        ; Получение заголовка окна
        if  (Title="Task Manager - Google Chrome") ; Проверка на диспетчер задач
            WinClose, ahk_id %lParam%              ; Закрыть окно
    }
}

Запуск скрипта AutoHotkey

  1. Установите AutoHotkey с официального сайта.
  2. Сохраните предоставленный скрипт в файл с расширением .ahk.
  3. Запустите файл, и он будет непрерывно отслеживать создание окон Chrome Task Manager и закрывать их.

Заключение

Оба подхода имеют свои достоинства. Пакетный файл завершает все процессы Chrome при открытии диспетчера задач, в то время как скрипт AutoHotkey просто закрывает сам диспетчер задач, не влияя на работу браузера. Выберите метод, который лучше всего соответствует вашим потребностям.

Оцените материал
Добавить комментарий

Капча загружается...