我们可以通过命令行的方式禁用和启用笔记本自带的键盘,但是需要管理员权限, 以管理员身份打开命令行,然后输入
sc config i8042prt start= disabled
可以禁用键盘
如果是输入
sc config i8042prt start= auto
则是启用键盘,有时候我们禁用了键盘,然后自己的键盘又没在身边,想要用自带的键盘但又无法输入命令,这时候我们可以写一个bat脚本。
bat是一种文件格式,它的内容其实就是命令行的命令,按序执行的。
启用自带键盘.bat
echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
sc config i8042prt start= auto
shutdown -r -t 1
禁用自带键盘.bat
echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
sc config i8042prt start= disabled
shutdown -r -t 1
sc config i8042prt start= disabled 这行指令上面的部分是获取管理员权限的指令,代码的大概意思就是先获取管理员权限,然后启用 / 禁用键盘 , 最后重启电脑。
2022/3/12更新
上面的脚本可以实现禁用和启用的功能,但是存在隐患,例如如果电脑有未保存的文件,然后被别人误点了这个脚本,他们不知道会重启,所以会导致资料丢失。所以在原来的基础上添加了一些命令,使得更加安全。
对于禁用键盘,我们选择输入 y or n 来决定是否重启,对于启用键盘,肯定是身边没有键盘,所以不能使用输入的方法,我们用窗口停留,在窗口停留期间关闭窗口即可取消重启。代码如下:
启用:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
echo 10秒后重启,关闭窗口可取消重启
ping -n 10 127.1 >nul
sc config i8042prt start= auto
shutdown -r -t 5
禁用:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
:BEGIN
set /p V=重启后禁用键盘,是否重启?('y'or'n')
if "%V%" == "y" (
sc config i8042prt start= disabled
shutdown -r -t 1
goto END
)
if "%V%" == "n" (
echo 取消重启
goto END
)
echo 输入错误,重新输入
goto BEGIN
:END