如何控制USB的开闭

菜鸟编程 十五楼的鸟儿 1248浏览 0评论

来自某论坛网友的一个问题,问题很简单:比如我有一个u盘,我用右下角的安全删除硬件弹出了,此时u盘不能用,必须拔了重新插一下才行。有没有软件可以控制不用重新拔插就能使u盘可以使用?需要这样一个软件,运行一下就禁止U盘,再运行一下就开放U盘,中间不需要重新插拨。而且还不能把其他usb设备禁止了,例如usb的鼠标

其实类似的方法鸟儿之前就有介绍 [使用批处理快速修改本机网卡MAC地址]的里面就有停用后再启用PCI设备的方法,USB设备亦与此同类。

解决方法如下:

下载http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe这个软件是微软提供的命令行的设备管理器。假设先把这个devcon.exe文件放在C盘根目录
开始---运行---输入CMD回车,进入C盘根目录,CD \
然后输入 devcon find usb\*
程序会给你一个列表,你找到一行最后的描述为USB Mass Storage Device的,也就是你的U盘。
这行前面会有一些内容,我的这行是
USB\VID_0781&PID_5406\0000186F6A622B48 : USB Mass Storage Device
记下第一个&和其后的\中间的内容,就是你的设备代码。我的就是PID_5406,一般来讲,都是PID_XXXX得格式。
然后将以下内容分别复制到记事本保存为bat即批处理文件。

第一个批处理用于禁用你的U盘。

[code=bat]
echo 正在禁用此USB设备
devcon disable *PID_5406* [/code]

第二个批处理用于启用你的U盘。

[code=bat]
echo 正在启用此USB设备
devcon enable *PID_5406*
[/code]

然后就尽情的试一下吧,大功告成,顺路贴一个devcon的其他参数信息:

设备控制台帮助:
devcon.exe [-r] [-m:\\] [...]
-r 如果指定它,在命令完成后若需要则重新启动计算机。
是目标计算机的名称。
是将要执行的命令(如下所示)。
... 是命令需要的一个或多个参数。
要获取关于某一特定命令的帮助,请键入:devcon.exe help
classfilter 允许修改类别筛选程序。
classes 列出所有设备安装类别。
disable 禁用与指定的硬件或实例 ID 匹配的设备。
driverfiles 列出针对设备安装的驱动程序文件。
drivernodes 列出设备的所有驱动程序节点。
enable 启用与指定的硬件或实例 ID 匹配的设备。
find 查找与指定的硬件或实例 ID 匹配的设备。
findall 查找设备,包括那些未显示的设备。
help 显示此信息。
hwids 列出设备的硬件 ID。
install 手动安装设备。
listclass 列出某一安装类别的所有设备。
reboot 重新启动本地计算机。
remove 删除与特定的硬件或实例 ID 匹配的设备。
rescan 扫描以发现新的硬件。
resources 列出设备的硬件资源。
restart 重新启动与特定的硬件或实例 ID 匹配的设备。
stack 列出预期的设备驱动程序堆栈。
status 列出设备的运行状态。
update 手动更新设备。
UpdateNI 手动更新设备,无用户提示
SetHwID 添加、删除和更改根枚举设备的硬件 ID 的顺序。

更多详细内容,可以参考[loc=http://support.microsoft.com/kb/311272/zh-cn]微软的帮助和支持[/loc]。


转载请注明:鸟儿博客 » 如何控制USB的开闭

游客
发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

等待大佬打赏中~