佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 用vbs確定計算機是否有 USB 2.0 端口的代碼

用vbs確定計算機是否有 USB 2.0 端口的代碼

熱門標簽:服務器配置 呼叫中心市場需求 檢查注冊表項 網站文章發(fā)布 銀行業(yè)務 智能手機 美圖手機 鐵路電話系統(tǒng)
問:
您好,腳本專家!有沒有辦法使用腳本來確定計算機是否有 USB 2.0 端口?
-- RD
答:
您好,RD。您熟悉電影瘋狂星期五 (Freaky Friday) 嗎,電影中母親和女兒交換了身體(及角色)?嗯,我們的這個問題中有點類似瘋狂星期五的東西。畢竟,在本專欄中本來應該由“腳本專家”來幫助您。但是,此問題實際上卻幫助了一位“腳本專家”。他原來一直在嘗試測試 USB 設備(未成功),而且?guī)缀跻呀洶堰@項工作視為毫無意義。但是當閱讀到您的問題時,他心中暗想,“哎呀,對?。篣SB 1.1 和 USB 2.0”。他在 USB 1.1 插槽中一嘗試測試該設備(對照 2.0 插槽),問題馬上就解決了。
嗨,沒有人說過這個特別的“腳本專家”是天才。(編輯附注:我為此證明。)
我們欠您一份情,RD;我們該如何報答您呢?好主意:也許我們可以從回答您的問題開始。好的,這里有一個腳本,它很可能返回計算機上 USB 2.0 端口的數(shù)量。讓我們先看代碼,然后再解釋我們說它“很可能”返回端口數(shù)量的原因:
復制代碼 代碼如下:

strComputer = "." 
i = 0 
Set objWMIService = GetObject("winmgmts:\\"  strComputer  "\root\cimv2") 
Set colControllers = objWMIService.ExecQuery _ 
    ("Select * From Win32_USBController") 
For Each objController in colControllers 
    If Instr(objController.Name, "Enhanced") Then 
        i = i + 1 
    End If 
Next 
Wscript.Echo "No. of USB 2.0 Ports: "  i 
這個腳本首先為兩個變量進行了賦值。為變量 strComputer 賦予了點 (.),點(WMI 表示法)代表本地計算機。同時,為計數(shù)器變量 i 賦值 0;我們將使用此變量來作為所有找到的 USB 2.0 端口的活動計數(shù)器。
連接到 WMI 服務后,我們使用此查詢返回所有 Win32_USBController 類的實例:
Set colControllers = objWMIService.ExecQuery _
    ("Select * From Win32_USBController")
在此我們設置一個 For Each 循環(huán)來遍歷集合(集合當然是代表計算機上的所有 USB 端口)中的每一項。遺憾的是,Win32_USBController 類不包含可告訴我們 USB 版本的屬性(如 Version),實際上,并沒有明確的方法來查看 USB 插槽的屬性并了解它是 1.1 版本還是 2.0 版本。不過,大部分 2.0 端口均在名稱中的某個位置包含 Enhanced 一詞。我們不能保證所有端口均如此,這就是我們說此腳本很可能返回計算機上 USB 2.0 端口數(shù)量的原因。但是,在辦公室里的隨機測試中,此方法似乎行得通;發(fā)現(xiàn) 2.0 插槽時它總是有類似下面的名稱:
VIA USB Enhanced Host Controller
那么,這對我們有何幫助呢?嗯,這表示我們可以使用 InStr 函數(shù)來查看 Enhanced 一詞是否出現(xiàn)在每個插槽的 Name 中:
If Instr(objController.Name, "Enhanced") Then
如果 InStr 返回值 True(從技術角度來說,如果它返回比 0 大的值),則表示在名稱中某處發(fā)現(xiàn)了 Enhanced 一詞。在這種情況下,我們會將 i 值加 1:
i = i + 1
如果 InStr 返回 0,表示找不到Enhanced 一詞怎么辦?嗯,在這種情況下,我們就進入下一個循環(huán)并嘗試集合中的下一項,i 值保持不變。
我們繼續(xù)進行查詢,每次找到名稱中有 Enhanced 的 USB 插槽即增加 i 值。當全部完成后,我們只需回顯 i 值,它將告訴我們計算機上 USB 2.0 端口的數(shù)量。
它并不一定是萬無一失的方法,但好像還管用。而且,您知道,這和您為我們做事還不一樣。
哦,對了;我們忘記了一件事。嗯,您或許喜歡巧克力?

標簽:紅河 長治 新疆 滄州 上海 沈陽 樂山 河南

巨人網絡通訊聲明:本文標題《用vbs確定計算機是否有 USB 2.0 端口的代碼》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    山阴县| 赤水市| 武邑县| 安阳县| 平舆县| 黑龙江省| 塔河县| 江北区| 民和| 杭州市| 桐梓县| 河西区| 兖州市| 中西区| 克山县| 射阳县| 乳山市| 襄城县| 色达县| 海晏县| 瓮安县| 上林县| 张家川| 绥德县| 潮州市| 嵩明县| 南通市| 牡丹江市| 乌鲁木齐市| 延安市| 昭通市| 扎鲁特旗| 资源县| 扎兰屯市| 津市市| 南宫市| 枣庄市| 福安市| 什邡市| 洛浦县| 雅江县|