当前位置: 首页 > news >正文

切换笔记本键盘的启用与禁用状态

使用批处理脚本切换笔记本键盘的启用与禁用状态

    • 背景描述
    • 详细步骤及代码解释
      • 1. 在管理员模式下运行脚本
      • 2. 脚本内容
      • 3. 解释

背景描述

在笔记本电脑中,在外接键盘的时候,有时我们希望禁用内置键盘,防止意外按键。Windows 系统中,键盘通常与 i8042prt 服务相关联。通过修改这个服务的启动类型,我们可以控制键盘的启用与禁用状态。可以编写一个批处理脚本来自动化这一操作。

详细步骤及代码解释

1. 在管理员模式下运行脚本

在 Windows 中,右键点击批处理文件,并选择“以管理员身份运行”来确保脚本具有必要的权限。

2. 脚本内容

以下是脚本的详细内容,以及每个步骤的解释:

@echo off
setlocal enabledelayedexpansion
:: 步骤1: 设置延迟变量扩展
:: 这允许我们在循环中修改变量并立即使用它们的最新值
:: 步骤2: 检查 i8042prt 服务的启动类型
for /f "tokens=4" %%A in ('sc qc i8042prt ^| findstr "START_TYPE"') do (set start_type=%%A
)
:: 步骤3: 根据服务的启动类型执行相应的操作
:: 这里是脚本的核心部分,根据服务状态启用或禁用键盘
:: 如果服务当前是禁用状态
if /i "!start_type!"=="DISABLED" (echo Service i8042prt is currently disabled. Enabling it...sc config i8042prt start=autoecho Service i8042prt has been enabled.
) 
:: 如果服务当前是手动启动状态
else if /i "!start_type!"=="DEMAND_START" (echo Service i8042prt is currently set to start on demand. Disabling it...sc config i8042prt start=disabledecho Service i8042prt has been disabled.
) 
:: 如果服务当前是自动启动状态
else if /i "!start_type!"=="AUTO_START" (echo Service i8042prt is currently set to start automatically. Disabling it...sc config i8042prt start=disabledecho Service i8042prt has been disabled.
) 
:: 如果服务启动类型未知
else (echo Unable to recognize the start type "!start_type!" for the service i8042prt.
)
:: 步骤4: 结束批处理脚本
:start
endlocal
pause

3. 解释

  • @echo off:关闭命令回显,使输出更清晰简洁。
  • setlocal enabledelayedexpansion:开启延迟变量扩展。
  • for /f "tokens=4" %%A in ('sc qc i8042prt ^| findstr "START_TYPE"') do (...):检索 i8042prt 服务的启动类型。
  • if /i "!start_type!"=="DISABLED" 等条件判断:根据服务当前状态启用或禁用键盘。
  • endlocal:清理脚本中使用的变量。
  • pause:暂停脚本,以便用户可以看到操作结果。
    通过以上步骤,您可以轻松地通过批处理脚本来切换笔记本键盘的启用与禁用状态。

http://www.mrgr.cn/news/33435.html

相关文章:

  • I.MX6U 裸机开发9.BEEP蜂鸣器实验
  • Hadoop学习--第一章 Hello大数据分布式
  • 重学 Android 自定义 View 系列(六):环形进度条
  • 基于Spring Boot与Redis的令牌主动失效机制实现
  • 【深度学习】使用硬件加速模型训练速度
  • <项目代码>YOLOv8 玉米地杂草识别<目标检测>
  • CPU和GPU运行的差别在哪里?
  • 文件 上传
  • 水果识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
  • [云服务器14] 搭建属于你自己的Git服务器
  • JVM OOM(OutOfMemoryError)问题排查与解决
  • 【JavaEE初阶】文件IO(上)
  • 【模板进阶】类模板中可变参的特殊继承方式
  • Java的格式化输出
  • 计算机网络笔记001
  • VScode配置连接远程服务器configure ssh Hosts
  • 【计算机网络 - 基础问题】每日 3 题(十八)
  • 轻量化网络 ---- MobileNet V2:Inverted residual with linear bottleneck
  • 笔记整理—内核!启动!—linux应用编程、网络编程部分(3)文件共享与标准IO
  • 二进制和位运算
  • C++模版初阶
  • 初识APC机制实现APC注入
  • 有女朋友后,怎么养成贤内助?为自己找个好伴侣,为孩子找个好妈妈,为母亲找个好儿媳
  • NLP 序列标注任务核心梳理
  • Linux —— 网络基础(一)
  • MySQL锁机制