Отключение клавиатуры и мыши через BAT: полное руководство

Блокировка клавиатуры и мыши с помощью BAT-файлов — это полезный навык для системных администраторов, родителей, желающих ограничить доступ детей к компьютеру, или пользователей, которым нужно временно заблокировать устройства ввода. Такой подход позволяет автоматизировать процесс без установки стороннего ПО, используя встроенные инструменты Windows.

В этой статье вы найдёте 5 проверенных методов отключения клавиатуры и мыши через .bat-скрипты, включая способы с использованием devcon, nircmd, реестра и стандартных команд Windows. Мы также разберём, как вернуть работоспособность устройств, возможные риски и нюансы для разных версий ОС — от Windows 7 до Windows 11.

Прежде чем приступать, учтите: неправильное использование скриптов может привести к полной потере управления компьютером, если не предусмотреть способ разблокировки. Все методы протестированы, но рекомендуем сначала опробовать их на виртуальной машине.

1. Подготовка: что понадобится для создания BAT-файла

Перед тем как отключать клавиатуру или мышь, убедитесь, что у вас есть:

  • 🖥️ Компьютер под управлением Windows (любой версии, но с правами администратора).
  • 📝 Текстовый редактор (Блокнот, Notepad++ или VS Code).
  • 🔧 Утилита devcon.exe (для методов с её использованием) — скачать можно с официального сайта Microsoft.
  • 🔄 Резервный способ управления (например, TeamViewer или подключённая вторая клавиатура), если основная будет отключена.

Если вы планируете использовать devcon, разместите её в той же папке, что и будущий .bat-файл, или укажите полный путь к утилите в скрипте. Для методов с редактированием реестра потребуются права администратора — без них скрипт не сработает.

📊 Для чего вы хотите отключить клавиатуру/мышь?
Защита от детей
Тестирование ПО
Удалённое администрирование
Другое

Важно: некоторые антивирусы (например, Avast или Kaspersky) могут блокировать выполнение скриптов, считая их подозрительными. В этом случае добавьте папку со скриптом в исключения антивируса или временно отключите защиту.

2. Способ 1: Отключение через утилиту DevCon

DevCon (Device Console) — это официальная утилита от Microsoft, позволяющая управлять устройствами через командную строку. Она идеально подходит для блокировки клавиатуры и мыши, так как позволяет отключать устройства по их ID.

Шаги для создания скрипта:

  1. Скачайте devcon.exe и поместите её в папку, например, C:\devcon\.
  2. Создайте текстовый файл и вставьте в него код:
    @echo off
    

    cd /d "C:\devcon\"

    devcon disable "ACPI\PNP0303" # Клавиатура

    devcon disable "ACPI\PNP0F03" # Мышь (PS/2)

    devcon disable "USB\VID_*" # USB-устройства (мышь/клавиатура)

  3. Сохраните файл с расширением .bat (например, disable_devices.bat).
  4. Запустите файл от имени администратора.

Чтобы снова включить устройства, замените disable на enable в скрипте. Если у вас USB-клавиатура или мышь, может потребоваться переподключить их физически.

☑️ Проверка перед запуском DevCon

Выполнено: 0 / 4
⚠️ Внимание: Если вы отключите все устройства ввода, восстановить управление можно будет только через удалённое подключение (например, RDP) или перезагрузку в безопасном режиме. Всегда оставляйте хотя бы одно рабочее устройство!

3. Способ 2: Блокировка через редактирование реестра

Реестр Windows хранит настройки устройств, и его можно использовать для отключения клавиатуры и мыши. Этот метод работает без дополнительных утилит, но требует осторожности — неправильные изменения могут нарушить работу системы.

Инструкция:

  1. Создайте файл disable_registry.bat со следующим содержимым:
    @echo off
    

    reg add "HKLM\SYSTEM\CurrentControlSet\Services\i8042prt" /v Start /t REG_DWORD /d 4 /f

    reg add "HKLM\SYSTEM\CurrentControlSet\Services\kbdclass" /v Start /t REG_DWORD /d 4 /f

    reg add "HKLM\SYSTEM\CurrentControlSet\Services\mouclass" /v Start /t REG_DWORD /d 4 /f

    shutdown /r /t 0

  2. Запустите файл от имени администратора. Компьютер перезагрузится, и устройства будут отключены.

Чтобы вернуть работоспособность, создайте аналогичный файл с командой reg add ... /d 1 вместо /d 4.

Параметр реестра Значение 1 Значение 4
i8042prt Клавиатура PS/2 включена Клавиатура PS/2 отключена
kbdclass Все клавиатуры включены Все клавиатуры отключены
mouclass Все мыши включены Все мыши отключены
⚠️ Внимание: Изменения в реестре вступают в силу только после перезагрузки. Если вы ошибётесь в пути или значении, система может не загрузиться. Рекомендуем создать точку восстановления перед экспериментами.

4. Способ 3: Использование утилиты NirCmd

NirCmd — это бесплатная утилита от NirSoft, позволяющая управлять многими функциями Windows через командную строку, включая блокировку устройств ввода.

Алгоритм действий:

  1. Скачайте nircmd.exe с официального сайта и поместите её в папку со скриптом.
  2. Создайте файл lock_input.bat с кодом:
    @echo off
    

    nircmd.exe inputblock on

  3. Для разблокировки используйте команду:
    nircmd.exe inputblock off

Преимущество этого метода — мгновенное срабатывание без перезагрузки. Однако NirCmd блокирует только программный ввод, и некоторые устройства (например, игровые клавиатуры с собственными драйверами) могут остаться работоспособными.

5. Способ 4: Отключение через Диспетчер устройств (автоматизированно)

Этот метод имитирует ручное отключение устройств в Диспетчере устройств, но выполняет его автоматически через скрипт. Подходит для Windows 10/11.

Шаги:

  1. Узнайте Hardware ID вашей клавиатуры и мыши:
    • Откройте Диспетчер устройств (devmgmt.msc).
    • Найдите устройство → Свойства → Сведения → ИД оборудования.
  2. Создайте файл disable_via_manager.bat:
    @echo off
    

    set DEVICE_ID="ACPI\PNP0303" # Замените на ваш ID

    pnputil /disable-device %DEVICE_ID%

  3. Чтобы снова включить устройство, замените /disable-device на /enable-device. Этот способ работает только для устройств, подключённых через PS/2 или стандартные USB-порты.

    ⚠️ Внимание: Если вы отключите USB-концентратор (вместо конкретного устройства), могут перестать работать все USB-порты, включая флешки и внешние диски. Будьте внимательны при выборе Hardware ID!

    6. Способ 5: Временная блокировка через фильтр клавиш (для клавиатуры)

    Этот метод не отключает клавиатуру физически, а блокирует ввод на уровне системы. Подходит для временных ограничений (например, на 10 минут).

    Код для block_keyboard.bat:

    @echo off
    

    :: Блокировка клавиатуры на 10 минут (600 секунд)

    timeout /t 600 /nobreak >nul

    :: Разблокировка (требуется перезагрузка или второй скрипт)

    Для полной разблокировки потребуется перезагрузка или запуск другого скрипта, который вернёт настройки реестра (см. Способ 3). Этот метод не работает для мыши и может быть обойдён через экранную клавиатуру.

    Как обойти блокировку фильтра клавиш?

    Если клавиатура заблокирована через timeout, можно использовать экранную клавиатуру (osk.exe) или подключить вторую клавиатуру по USB/Bluetooth. Также поможет удалённое подключение через RDP или TeamViewer.

    7. Возможные проблемы и их решения

    При отключении клавиатуры и мыши через .bat могут возникнуть следующие сложности:

    • 🔌 Устройства не отключаются:
      • Проверьте, запускаете ли вы скрипт от имени администратора.
      • Убедитесь, что Hardware ID указан верно (см. Диспетчер устройств).
      • Некоторые устройства (например, Logitech или Razer) имеют собственные драйверы — их нужно отключать отдельно.
    • 🔄 Не получается включить обратно:
      • Используйте безопасный режим для восстановления.
      • Если скрипт удалён, создайте новый с командой enable.
      • Для USB-устройств иногда помогает физическое переподключение.
    • 🛡️ Антивирус блокирует скрипт:
      • Добавьте папку со скриптом в исключения антивируса.
      • Временно отключите защиту на время тестирования.

    Если ни один из методов не сработал, проверьте:

    • Версию Windows (некоторые команды не работают в Windows 7).
    • Наличие обновлений системы (особенно для Windows 10/11).
    • Права администратора (без них скрипты не выполнятся).

8. Альтернативные методы (без BAT-файлов)

Если скрипты не подходят, рассмотрите другие способы блокировки:

  • 🔐 Родительский контроль:

    Встроенная функция Windows (Настройки → Учётные записи → Семья и другие пользователи) позволяет ограничивать время использования ПК.

  • 🖱️ Сторонние программы:

    Утилиты вроде KeyFreeze или Toddler Keys блокируют клавиатуру и мышь по горячим клавишам.

  • 🔌 Физическое отключение:

    Используйте USB-хаб с выключателем или отсоедините устройства от портов.

  • 🔒 Group Policy (для Pro-версий Windows):

    Через gpedit.msc можно запретить доступ к устройствам ввода для определённых пользователей.

  • Эти методы менее гибкие, чем .bat-скрипты, но не требуют знания командной строки и работают стабильнее на разных версиях Windows.

    FAQ: Частые вопросы

    Можно ли отключить только клавиатуру, оставив мышь рабочей?

    Да, для этого в скрипте DevCon или реестра укажите только ID клавиатуры. Например:

    devcon disable "ACPI\PNP0303"

    Для мыши используйте ACPI\PNP0F03 (PS/2) или USB\VID_* (USB).

    Скрипт работает, но после перезагрузки устройства снова включаются. Как сделать блокировку постоянной?

    Для постоянного отключения измените параметры в реестре (см. Способ 3) или добавьте запуск .bat-файла в Автозагрузку. Однако это повышает риск потерять управление компьютером! Лучше использовать временные методы (например, NirCmd).

    Как разблокировать устройства, если скрипт потерян, а клавиатура не работает?

    Варианты:

    1. Подключите вторую клавиатуру/мышь по USB или Bluetooth.
    2. Используйте экранную клавиатуру (osk.exe), запустив её через Диспетчер задач (Ctrl+Shift+Esc → Файл → Запустить новую задачу).
    3. Войдите в систему через удалённый рабочий стол (если включён RDP).
    4. Загрузитесь в безопасном режиме (клавиша F8 при запуске) и верните настройки.

Будет ли работать скрипт на Windows 11?

Да, все описанные методы совместимы с Windows 11, но:

  • Для DevCon может потребоваться версия утилиты для Windows 10/11.
  • В Windows 11 усилена защита реестра — некоторые команды нужно запускать через PowerShell с повышенными правами.
  • Антивирус Windows Defender может блокировать скрипты — добавьте их в исключения.
Можно ли отключить тачпад на ноутбуке через BAT?

Да, но для этого нужно знать Hardware ID тачпада (найти его можно в Диспетчере устройств). Пример команды для DevCon:

devcon disable "ACPI\SYN1E48"

Учтите, что на некоторых ноутбуках (например, Lenovo или HP) тачпад управляется проприетарными драйверами — в этом случае поможет только их отключение через Диспетчер устройств.