打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用devcon禁用任何硬件设备,比如光驱,软驱,摄像头等等 - 死性不改's Blog~


网管联盟的e网尘风同志提出这么一个问题,有的顾客不用摄像头,但是该顾客用的机器又偏偏有摄像头,但是顾客有不想换机器,又不想用摄像头,问题是他不用就不用吧,他非得把摄像头扔桌子下面去,很气人,于是e网尘风想找办法让摄像头不能用,于是我就百度了一下,发现devcon可以命令行禁用硬件,下面我简单说下用法,因为是现炒现卖,写的不好,大伙别扔砖头~
首先我们需要有devcon.exe这个程序,但是系统里默认似乎是不安装的。所以需要下载,本文最后提供下载。

devcon禁用设备参数
devcon /disable 设备ID
在 2003 年第 23 期的 《设备管理器实例点点通》 一文中, 介绍了通过 “设备管理器” 禁用光驱的方法, 这个功能同样能用 devcon 命令来实现, 并且还可以轻松实现禁止指定用户无法使用光驱。
在命令行中输入 “devcon status *cdrom* ”(这里的 *与文件搜索时的使用是一样的, 可以代表任意字符 ), 在屏幕上会列出当前系统中所有光驱设备状态。 从 “ Name ” 行中可以看到光驱名称, 例如 “ ATAPI
CD-R/RW 12X8X32 USB Device ”就是光驱 (刻录机) 名我的光驱!你别用!
将上面显示的 “ USBSTOR \CDROM&VEN_ATAPI&PROD_CD-R/ RW_12X8X32&REV_9. CC\6&29716FAA&0 ” 就是光驱设备ID。输入“devcon disable USBSTOR\CDROM&VEN_ATAPI&PROD_CD-R/ RW_12X8X32&REV_9.CC\6&29716FAA&0 ” 即可禁用该刻录机了, 不过这样输入命令似乎有点太长, 也可以使用 “ *”符号进行简化输入, 例如这里输入 “ devcon disable *cdrom* ”也能实现同样效果。

devcon获取设备ID
devcon status *
devcon /hwids *
*为通配符,比如获取CDROM的设备ID,就可以写为devcon status *cdrom*,这样就可以获取所有cdrom的设备ID了。
还有个更简单的办法来查看设备ID,就是在设备管理器里,找到你要禁用的硬件设备,比如摄像头吧。
在摄像头上点右键,属性,详细信息,硬件ID里就可以看到ID了。


这么长的ID,抄起来很麻烦,那怎么办呢?你用devcon status * 命令查看到所有设备的ID后,然后找ID开头为USB\VID开头的就可以了,与设备管理器里的设备ID对比后,复制一下,就省很多事了。
用devcon status * 命令会显示所有设备的ID,可能会把前面的设备ID覆盖掉,你可以用命令
devcon status * >>c:\设备ID.txt
这样所有设备ID列表就会在你的C盘生成一个名为“设备ID”的文本文档了。在文档最下面会写着发现多少硬件。

devcon /hwids * 获取设备ID更详细些。大家看下图吧。


devcon启用设备参数
devcon /enable 设备ID

devcon卸载指定设备参数
devcon /remove 设备ID
功能与在设备管理器中使用“卸载” 功能相同, 在第 6期的 《你不再是我的惟一 —— 制作万能克隆文件》 一文中, 就使用过 “ devcon remove * ”命令来快速删除所有的硬件驱动程序。

devcon重启指定设备
devcon  /restart 设备ID

devcon 还有许多命令, 其应用的关键在于综合运用, 尤其是对于许多喜欢用批处理的朋友来说, devcon 会让你的批处理大放光彩。 限于现炒现卖,这里就不多说了。把主要问题解决了就OK了。
隐藏内容
该内容已经被作者隐藏,只有会员才允许查阅 登录 | 注册

附带一个批处理吧,把禁用摄像头,启用摄像头放到上去。把下面代码保存为bat运行就可以了。

@echo off
del /q %windir%\禁用摄像头.bat
del /q %windir%\启用摄像头.bat
del /q %temp%\link1.vbs
del /q %temp%\link2.vbs

echo devcon.exe /disable 摄像头ID >%windir%\禁用摄像头.bat
echo devcon.exe /enable 摄像头ID >%windir%\启用摄像头.bat

echo set WshShell = WScript.CreateObject("WScript.Shell") >>%temp%\link1.vbs
echo strDesktop = WshShell.SpecialFolders("Desktop") >>%temp%\link1.vbs
echo set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\禁用摄像头.lnk") ^'快捷方式的名字 >>%temp%\link1.vbs"
echo oShellLink.TargetPath = "%windir%\禁用摄像头.bat" '快捷方式里的“目标” >>%temp%\link1.vbs
echo oShellLink.WindowStyle = 1 '快捷方式里的“运行方式” >>%temp%\link1.vbs
echo oShellLink.Hotkey = "Ctrl+Alt+1" '快捷方式里的“快捷键” >>%temp%\link1.vbs
echo oShellLink.IconLocation = "%windir%\system32\shell32.dll, 27" '快捷方式的图标 >>%temp%\link1.vbs
echo oShellLink.Description = "禁用摄像头" '快捷方式里的“备注” >>%temp%\link1.vbs
echo oShellLink.WorkingDirectory = "%windir%" '快捷方式里的“起始位置”" >>%temp%\link1.vbs
echo oShellLink.Save >>%temp%\link1.vbs
%temp%\link1.vbs


echo set WshShell = WScript.CreateObject("WScript.Shell") >>%temp%\link2.vbs
echo strDesktop = WshShell.SpecialFolders("Desktop") >>%temp%\link2.vbs
echo set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\启用摄像头.lnk") ^'快捷方式的名字 >>%temp%\link2.vbs"
echo oShellLink.TargetPath = "%windir%\启用摄像头.bat" '快捷方式里的“目标” >>%temp%\link2.vbs
echo oShellLink.WindowStyle = 1 '快捷方式里的“运行方式” >>%temp%\link2.vbs
echo oShellLink.Hotkey = "Ctrl+Alt+2" '快捷方式里的“快捷键” >>%temp%\link2.vbs
echo oShellLink.IconLocation = "%windir%\system32\shell32.dll, 44" '快捷方式的图标 >>%temp%\link2.vbs
echo oShellLink.Description = "启用摄像头" '快捷方式里的“备注” >>%temp%\link2.vbs
echo oShellLink.WorkingDirectory = "%windir%" '快捷方式里的“起始位置”" >>%temp%\link2.vbs
echo oShellLink.Save >>%temp%\link2.vbs
%temp%\link2.vbs
 DevCon 实用工具是一种命令行实用工具,可以替代设备管理器。使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 提供与开发人员有关但无法在设备管理器中看到的信息。
  您可以将 DevCon 用于 Windows 2000 、Windows XP和Windows vista。不能将 Devcon 用于 Microsoft Windows 95、Windows 98、或 Windows Millennium Edition。
  下载:http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe

用法及参数说明:

  devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...]
  -r 如果指定它,在命令完成后若需要则重新启动计算机。
  <machine> 是目标计算机的名称。
  <command> 是将要执行的命令(如下所示)。
  <arg>... 是命令需要的一个或多个参数。
  要获取关于某一特定命令的帮助,请键入:devcon.exe help <command>
  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 的顺序。

示例:

  devcon -m:\\test find pci\* 列出计算机 test 上的所有已知 PCI 设备。(通过使用 -m,您可以指定一个目标计算机。您必须使用“进程间通信”(IPC) 访问此计算机。)
  devcon -r install Windows directory\Inf\Netloop.inf *MSLOOP 安装一个新的 Microsoft 环回适配器实例。这将创建一个新的根枚举设备节点,使用此节点您可以安装“虚拟设备”,如环回适配器。如果需要重新启动计算机,此命令还将以安静模式重启计算机。
  devcon classes 列出所有已知的安装类别。输出结果包含短的未本地化的名称(例如,“USB”)和描述性名称(例如,“通用串行总线控制器”)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
真正实现自动禁用启用网卡,认为好的请转一下!
家里WIFI密码忘记了,这么找回很简单!三种方法
VBS创建快捷方式ink
Wscript对象详解
批处理实现软件静默批量安装
为你的电脑系统清除淤塞的垃圾!(不用任何软件,超过优化大师)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服