引言
写这篇教程是因为我发现网上缺少这方面的资料,最近我发现两个鼠标在进行FPS游戏时,拉枪可能会碰到另一鼠标导致瞄不准,而在设备管理器中禁用鼠标又过于麻烦,所以我在网上搜索关于一键开关设备的脚本,但是没有人写过,因此我打算自己写一个批处理脚本来实现这一功能。
批处理是很强大的,可以极大方便我们工作(其实就是稍微偷下懒)。不要觉得批处理很难学,只要你有大学的C语言基础,花个半小时照葫芦画瓢就能写出来一个批处理。下面我就给大家讲解如何实现标题中说的功能(需要先看我发的视频来做一下准备)。
准备
-
大家先按照视频里的方法找到自己想要一键开启/禁用的设备范例id,这个范例id就是devcon命令中设备唯一标识(可以理解为devcon命令能理解的设备名)。
-
安装微软devcon工具,这个工具用于丰富批处理命令,本批处理核心就是围绕着devcon提供的设备管理功能。
devcon的安装
-
可以通过官方的工具包中下载提取,具体请百度,并不推荐这个方法,我没有提取出来,所以不知道是否可行。
-
如果你安装了Visual Studio,那么很有可能你的电脑里已经安装了devcon,打开cmd测试下devcon命令来确定是否已安装devcon。
-
从网上下载已经提取好的devcon(推荐这个方法,当然如果你担心木马就没办法了)。 链接会放在评论区 。将下载好的devcon.exe放在C:\Windows\System32目录下就大功告成了。
批处理命令
首先,完整的批处理:
@ECHO OFF
setlocal EnableDelayedExpansion
title Disable or Enable a device
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
devcon status "@ HID\VID_046D&PID_C07E&MI_00\7&3383B5EC&0&0000 " >>%cd%\status.txt
for /f "delims=" %%a in ('findstr /c:"disable" status.txt') do set status=%%a
if "%status%"==" Device is disabled." (
devcon enable "@ HID\VID_046D&PID_C07E&MI_00\7&3383B5EC&0&0000 "
echo ENABLE device!
) else (
devcon disable "@ HID\VID_046D&PID_C07E&MI_00\7&3383B5EC&0&0000 "
echo DISABLE device!
)
del status.txt
echo Press ANY key to exit
pause >nul
exit
其中,橙色部分是你需要替换的,即通过视频中方法查到的要禁用设备的范例id,替换就OK了。如果你想要了解每条命令的含义,那就需要自己多查下资料研究一下,其实批处理逻辑和高级语言如C语言差不多,这里就不做赘述了。
总结
这个批处理也可以禁用pci设备,理论上计算机的设备都可以通过这个批处理一键禁用和开启,另外本批处理需要获取管理员权限来完成设备管理功能。
有哪里不懂或文章有错误,欢迎大家在评论区讨论。
如果你觉得这篇文章帮得到你的话,请给UP三连鼓励,谢谢大家!