網(wǎng)管聯(lián)盟的e網(wǎng)塵風(fēng)同志提出這么一個(gè)問(wèn)題,有的顧客不用攝像頭,但是該顧客用的機(jī)器又偏偏有攝像頭,但是顧客有不想換機(jī)器,又不想用攝像頭,問(wèn)題是他不用就不用吧,他非得把攝像頭扔桌子下面去,很氣人,于是e網(wǎng)塵風(fēng)想找辦法讓攝像頭不能用,于是我就百度了一下,發(fā)現(xiàn)devcon可以命令行禁用硬件,下面我簡(jiǎn)單說(shuō)下用法,因?yàn)槭乾F(xiàn)炒現(xiàn)賣,寫的不好,大伙別扔磚頭~
首先我們需要有devcon.exe這個(gè)程序,但是系統(tǒng)里默認(rèn)似乎是不安裝的。所以需要下載,本文最后提供下載。
devcon禁用設(shè)備參數(shù)devcon /disable 設(shè)備ID
在 2003 年第 23 期的 《設(shè)備管理器實(shí)例點(diǎn)點(diǎn)通》 一文中, 介紹了通過(guò) “設(shè)備管理器” 禁用光驅(qū)的方法, 這個(gè)功能同樣能用 devcon 命令來(lái)實(shí)現(xiàn), 并且還可以輕松實(shí)現(xiàn)禁止指定用戶無(wú)法使用光驅(qū)。
在命令行中輸入 “devcon status *cdrom* ”(這里的 *與文件搜索時(shí)的使用是一樣的, 可以代表任意字符 ), 在屏幕上會(huì)列出當(dāng)前系統(tǒng)中所有光驅(qū)設(shè)備狀態(tài)。 從 “ Name ” 行中可以看到光驅(qū)名稱, 例如 “ ATAPI
CD-R/RW 12X8X32 USB Device ”就是光驅(qū) (刻錄機(jī)) 名我的光驅(qū)!你別用!
將上面顯示的 “ USBSTOR \CDROM&VEN_ATAPI&PROD_CD-R/ RW_12X8X32&REV_9. CC\6&29716FAA&0 ” 就是光驅(qū)設(shè)備ID。輸入“devcon disable USBSTOR\CDROM&VEN_ATAPI&PROD_CD-R/ RW_12X8X32&REV_9.CC\6&29716FAA&0 ” 即可禁用該刻錄機(jī)了, 不過(guò)這樣輸入命令似乎有點(diǎn)太長(zhǎng), 也可以使用 “ *”符號(hào)進(jìn)行簡(jiǎn)化輸入, 例如這里輸入 “ devcon disable *cdrom* ”也能實(shí)現(xiàn)同樣效果。
devcon獲取設(shè)備IDdevcon status *
devcon /hwids *
*為通配符,比如獲取CDROM的設(shè)備ID,就可以寫為devcon status *cdrom*,這樣就可以獲取所有cdrom的設(shè)備ID了。
還有個(gè)更簡(jiǎn)單的辦法來(lái)查看設(shè)備ID,就是在設(shè)備管理器里,找到你要禁用的硬件設(shè)備,比如攝像頭吧。
在攝像頭上點(diǎn)右鍵,屬性,詳細(xì)信息,硬件ID里就可以看到ID了。
這么長(zhǎng)的ID,抄起來(lái)很麻煩,那怎么辦呢?你用devcon status * 命令查看到所有設(shè)備的ID后,然后找ID開頭為USB\VID開頭的就可以了,與設(shè)備管理器里的設(shè)備ID對(duì)比后,復(fù)制一下,就省很多事了。
用devcon status * 命令會(huì)顯示所有設(shè)備的ID,可能會(huì)把前面的設(shè)備ID覆蓋掉,你可以用命令
devcon status * >>c:\設(shè)備ID.txt
這樣所有設(shè)備ID列表就會(huì)在你的C盤生成一個(gè)名為“設(shè)備ID”的文本文檔了。在文檔最下面會(huì)寫著發(fā)現(xiàn)多少硬件。
devcon /hwids * 獲取設(shè)備ID更詳細(xì)些。大家看下圖吧。
devcon啟用設(shè)備參數(shù)devcon /enable 設(shè)備ID
devcon卸載指定設(shè)備參數(shù)devcon /remove 設(shè)備ID
功能與在設(shè)備管理器中使用“卸載” 功能相同, 在第 6期的 《你不再是我的惟一 —— 制作萬(wàn)能克隆文件》 一文中, 就使用過(guò) “ devcon remove * ”命令來(lái)快速刪除所有的硬件驅(qū)動(dòng)程序。
devcon重啟指定設(shè)備devcon /restart 設(shè)備ID
devcon 還有許多命令, 其應(yīng)用的關(guān)鍵在于綜合運(yùn)用, 尤其是對(duì)于許多喜歡用批處理的朋友來(lái)說(shuō), devcon 會(huì)讓你的批處理大放光彩。 限于現(xiàn)炒現(xiàn)賣,這里就不多說(shuō)了。把主要問(wèn)題解決了就OK了。該內(nèi)容已經(jīng)被作者隱藏,只有會(huì)員才允許查閱
登錄 |
注冊(cè)附帶一個(gè)批處理吧,把禁用攝像頭,啟用攝像頭放到上去。把下面代碼保存為bat運(yùn)行就可以了。
@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" '快捷方式里的“目標(biāo)” >>%temp%\link1.vbs
echo oShellLink.WindowStyle = 1 '快捷方式里的“運(yùn)行方式” >>%temp%\link1.vbs
echo oShellLink.Hotkey = "Ctrl+Alt+1" '快捷方式里的“快捷鍵” >>%temp%\link1.vbs
echo oShellLink.IconLocation = "%windir%\system32\shell32.dll, 27" '快捷方式的圖標(biāo) >>%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" '快捷方式里的“目標(biāo)” >>%temp%\link2.vbs
echo oShellLink.WindowStyle = 1 '快捷方式里的“運(yùn)行方式” >>%temp%\link2.vbs
echo oShellLink.Hotkey = "Ctrl+Alt+2" '快捷方式里的“快捷鍵” >>%temp%\link2.vbs
echo oShellLink.IconLocation = "%windir%\system32\shell32.dll, 44" '快捷方式的圖標(biāo) >>%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 實(shí)用工具是一種命令行實(shí)用工具,可以替代設(shè)備管理器。使用 DevCon,您可以啟用、禁用、重新啟動(dòng)、更新、刪除和查詢單個(gè)設(shè)備或一組設(shè)備。DevCon 提供與開發(fā)人員有關(guān)但無(wú)法在設(shè)備管理器中看到的信息。
您可以將 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
用法及參數(shù)說(shuō)明:
devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...]
-r 如果指定它,在命令完成后若需要?jiǎng)t重新啟動(dòng)計(jì)算機(jī)。
<machine> 是目標(biāo)計(jì)算機(jī)的名稱。
<command> 是將要執(zhí)行的命令(如下所示)。
<arg>... 是命令需要的一個(gè)或多個(gè)參數(shù)。
要獲取關(guān)于某一特定命令的幫助,請(qǐng)鍵入:devcon.exe help <command>
classfilter 允許修改類別篩選程序。
classes 列出所有設(shè)備安裝類別。
disable 禁用與指定的硬件或?qū)嵗?ID 匹配的設(shè)備。
driverfiles 列出針對(duì)設(shè)備安裝的驅(qū)動(dòng)程序文件。
drivernodes 列出設(shè)備的所有驅(qū)動(dòng)程序節(jié)點(diǎn)。
enable 啟用與指定的硬件或 實(shí)例 ID 匹配的設(shè)備。
find 查找與指定的硬件或 實(shí)例 ID 匹配的設(shè)備。
findall 查找設(shè)備,包括那些未顯示的設(shè)備。
help 顯示此信息。
hwids 列出設(shè)備的硬件 ID。
install 手動(dòng)安裝設(shè)備。
listclass 列出某一安裝類別的所有設(shè)備。
reboot 重新啟動(dòng)本地計(jì)算機(jī)。
remove 刪除與特定的硬件或 實(shí)例 ID 匹配的設(shè)備。
rescan 掃描以發(fā)現(xiàn)新的硬件。
resources 列出設(shè)備的硬件資源。
restart 重新啟動(dòng)與特定的硬件或 實(shí)例 ID 匹配的設(shè)備。
stack 列出預(yù)期的設(shè)備驅(qū)動(dòng)程序堆棧。
status 列出設(shè)備的運(yùn)行狀態(tài)。
update 手動(dòng)更新設(shè)備。
UpdateNI 手動(dòng)更新設(shè)備,無(wú)用戶提示
SetHwID 添加、刪除和更改根枚舉設(shè)備的硬件 ID 的順序。
示例:
devcon -m:\\test find pci\* 列出計(jì)算機(jī) test 上的所有已知 PCI 設(shè)備。(通過(guò)使用 -m,您可以指定一個(gè)目標(biāo)計(jì)算機(jī)。您必須使用“進(jìn)程間通信”(IPC) 訪問(wèn)此計(jì)算機(jī)。)
devcon -r install Windows directory\Inf\Netloop.inf *MSLOOP 安裝一個(gè)新的 Microsoft 環(huán)回適配器實(shí)例。這將創(chuàng)建一個(gè)新的根枚舉設(shè)備節(jié)點(diǎn),使用此節(jié)點(diǎn)您可以安裝“虛擬設(shè)備”,如環(huán)回適配器。如果需要重新啟動(dòng)計(jì)算機(jī),此命令還將以安靜模式重啟計(jì)算機(jī)。
devcon classes 列出所有已知的安裝類別。輸出結(jié)果包含短的未本地化的名稱(例如,“USB”)和描述性名稱(例如,“通用串行總線控制器”)。