禁用笔记本键盘脚本

前言

在办公室时,笔记本拓展出两个外接显示器,笔记本放置在正前方显示器的下面时,没有空间放置我的机械键盘.只能把机械键盘放置在笔记本键盘上,出差时又需要使用笔记本自带的键盘;于是有了今天的这个脚本,用于快速开启与禁用笔记本脚本

bash 复制代码
@echo off
:: Check administrator privileges
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo Requesting administrator privileges...
    powershell -Command "Start-Process cmd -ArgumentList '/c %~0' -Verb RunAs"
    goto :eof
)

echo ========================================
echo    PS/2 Driver Auto Toggle Script
echo ========================================
echo.

:: Check current i8042prt service status
echo Checking current PS/2 driver status...
for /f "tokens=4" %%a in ('sc qc i8042prt ^| findstr "START_TYPE"') do (
    set start_type=%%a
)

echo Raw start type: %start_type%
echo.

:: Convert start type to human readable (support both numeric and text)
if "%start_type%"=="2" (
    set current_state=ENABLED
) else if "%start_type%"=="3" (
    set current_state=DEMAND_START
) else if "%start_type%"=="4" (
    set current_state=DISABLED
) else if "%start_type%"=="AUTO_START" (
    set current_state=ENABLED
) else if "%start_type%"=="DEMAND_START" (
    set current_state=DEMAND_START
) else if "%start_type%"=="DISABLED" (
    set current_state=DISABLED
) else (
    echo [ERROR] Unknown start type: %start_type%
    echo Known types: 2/AUTO_START=Auto, 3/DEMAND_START=Demand, 4/DISABLED=Disabled
    pause
    exit /b 1
)

echo Current PS/2 driver state: %current_state%
echo.

:: Set the appropriate action based on current state
if "%current_state%"=="ENABLED" (
    echo PS/2 driver is currently ENABLED
    echo Switching to DISABLED state...
    sc config i8042prt start= disabled
    set new_state=DISABLED
    goto :check_result
) else if "%current_state%"=="DISABLED" (
    echo PS/2 driver is currently DISABLED
    echo Switching to ENABLED state...
    sc config i8042prt start= auto
    set new_state=ENABLED
    goto :check_result
) else if "%current_state%"=="DEMAND_START" (
    echo PS/2 driver is currently DEMAND_START (Manual)
    echo Switching to ENABLED state...
    sc config i8042prt start= auto
    set new_state=ENABLED
    goto :check_result
)

:check_result
if %errorlevel% equ 0 (
    echo.
    echo [SUCCESS] PS/2 driver is now %new_state%
    echo [NOTE] Restart required to take effect
    echo.
    choice /C YN /M "Restart computer now (Y/N)?"
    if errorlevel 2 (
        echo Please remember to restart computer manually
    ) else (
        shutdown /r /t 5
        echo Computer will restart in 5 seconds...
    )
) else (
    echo.
    echo [ERROR] Operation failed, error code: %errorlevel%
    echo Please check if the service name is correct
)

echo.
pause

功能很简单,就是自动切换管理员模式,然后识别你的i8042prt状态并切换,然后询问你是否立刻重启以生效.使用的时候只需要双击脚本即可.

相关推荐
我最爱吃鱼香茄子2 小时前
终极方案:JetBrains IDE永久解放C盘空间
计算机视觉·性能优化·电脑·笔记本电脑·intellij-idea·程序员创富·webstorm
漫友也是程序猿4 小时前
mfc140u.dll缺失的排查方法:从 VC 运行库、软件完整性到系统检查
程序人生·电脑
猫头虎7 小时前
猫头虎AI分享|樱桃键盘Ctrl键失效解决方案:FN+PAUSE 长按10秒恢复出厂设置保姆级教程
网络·网络协议·tcp/ip·计算机外设·键盘·机械键盘·ctrl
智塑未来8 小时前
办公电脑监控软件实测横评与选型避坑指南
电脑
橡木树的叶子8 小时前
STM32单片机+RGB三色灯模块+七色灯颜色数据发送到串口调试助手+源代码(使用cubuemx+vscode实现操作)
stm32·单片机·计算机外设
ACP广源盛1392462567321 小时前
GSV2221 显示转换芯片@ACP#赋能 RTX Spark 端侧 AI 设备,构建多屏全模态视觉交互新生态
大数据·人工智能·嵌入式硬件·gpt·spark·电脑·音视频
今日综合1 天前
2026免费AI自动抠图工具汇总:全平台+电脑在线全方案,无水印零套路
人工智能·电脑
开开心心_Every1 天前
解决打印机共享难题的实用工具
linux·b树·安全·游戏·随机森林·pdf·计算机外设
道法自然,人法天1 天前
屏幕卡死无法点击?只用键盘重启电脑
计算机外设·电脑
程序员大辉1 天前
360驱动大师,免费版——电脑驱动管理工具使用指南
电脑·驱动大师·驱动精灵