用vbs實現(xiàn)判斷計算機是筆記本還是臺式機的代碼
更新時間:2008年06月19日 12:28:54 作者:
盡管我們并不知道您自己是怎么解決這個問題的。大家知道,有一個很小的稱為 Win32_SystemEnclosure 的傻瓜式 WMI 類
ChassisTypes 屬性可以告訴您,您使用的是筆記本電腦、臺式計算機還是其他類型的計算機。哦,輸入。以下腳本可以讓您知道您使用的是哪種類型的計算機:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objChassis in colChassis
For Each strChassisType in objChassis.ChassisTypes
Wscript.Echo strChassisType
Next
Next
好吧,以上腳本只是在一定程度上讓您知道您使用的是哪種類型的計算機。實際上,ChassisType 屬性返回的是一個數(shù)字,這就是說當(dāng)我們在面前的計算機上運行這個腳本時,我們將得到 10。那么,什么是 10 呢?根據(jù)WMI SDK,它指的是筆記本計算機。猜一猜會發(fā)生什么呢?沒錯!
但您并不必每次檢查計算機類型時都參考 SDK。以下經(jīng)過擴展的腳本使用一個 Select Case 語句,它可將這些整數(shù)轉(zhuǎn)換為更有意義的內(nèi)容:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objChassis in colChassis
For Each strChassisType in objChassis.ChassisTypes
Select Case strChassisType
Case 1
Wscript.Echo "Other"
Case 2
Wscript.Echo "Unknown"
Case 3
Wscript.Echo "Desktop"
Case 4
Wscript.Echo "Low Profile Desktop"
Case 5
Wscript.Echo "Pizza Box"
Case 6
Wscript.Echo "Mini Tower"
Case 7
Wscript.Echo "Tower"
Case 8
Wscript.Echo "Portable"
Case 9
Wscript.Echo "Laptop"
Case 10
Wscript.Echo "Notebook"
Case 11
Wscript.Echo "Handheld"
Case 12
Wscript.Echo "Docking Station"
Case 13
Wscript.Echo "All-in-One"
Case 14
Wscript.Echo "Sub-Notebook"
Case 15
Wscript.Echo "Space Saving"
Case 16
Wscript.Echo "Lunch Box"
Case 17
Wscript.Echo "Main System Chassis"
Case 18
Wscript.Echo "Expansion Chassis"
Case 19
Wscript.Echo "Sub-Chassis"
Case 20
Wscript.Echo "Bus Expansion Chassis"
Case 21
Wscript.Echo "Peripheral Chassis"
Case 22
Wscript.Echo "Storage Chassis"
Case 23
Wscript.Echo "Rack Mount Chassis"
Case 24
Wscript.Echo "Sealed-Case PC"
Case Else
Wscript.Echo "Unknown"
End Select
Next
Next
在您提問以前,不,我們并不知道這些大多數(shù)計算機類型是什么,也不知道便攜式計算機、膝上型計算機以及筆記本計算機之間有什么區(qū)別。我們也不知道 ChassisTypes 屬性為什么存儲為數(shù)組。那是否意味著一臺計算機可以有多種計算機類型?不要問我們,我們也不知道。讓我們喘口氣吧:畢竟我們只是 Microsoft Scripting Guy,可不是 Microsoft Hardware Guy
復(fù)制代碼 代碼如下:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objChassis in colChassis
For Each strChassisType in objChassis.ChassisTypes
Wscript.Echo strChassisType
Next
Next
好吧,以上腳本只是在一定程度上讓您知道您使用的是哪種類型的計算機。實際上,ChassisType 屬性返回的是一個數(shù)字,這就是說當(dāng)我們在面前的計算機上運行這個腳本時,我們將得到 10。那么,什么是 10 呢?根據(jù)WMI SDK,它指的是筆記本計算機。猜一猜會發(fā)生什么呢?沒錯!
但您并不必每次檢查計算機類型時都參考 SDK。以下經(jīng)過擴展的腳本使用一個 Select Case 語句,它可將這些整數(shù)轉(zhuǎn)換為更有意義的內(nèi)容:
復(fù)制代碼 代碼如下:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objChassis in colChassis
For Each strChassisType in objChassis.ChassisTypes
Select Case strChassisType
Case 1
Wscript.Echo "Other"
Case 2
Wscript.Echo "Unknown"
Case 3
Wscript.Echo "Desktop"
Case 4
Wscript.Echo "Low Profile Desktop"
Case 5
Wscript.Echo "Pizza Box"
Case 6
Wscript.Echo "Mini Tower"
Case 7
Wscript.Echo "Tower"
Case 8
Wscript.Echo "Portable"
Case 9
Wscript.Echo "Laptop"
Case 10
Wscript.Echo "Notebook"
Case 11
Wscript.Echo "Handheld"
Case 12
Wscript.Echo "Docking Station"
Case 13
Wscript.Echo "All-in-One"
Case 14
Wscript.Echo "Sub-Notebook"
Case 15
Wscript.Echo "Space Saving"
Case 16
Wscript.Echo "Lunch Box"
Case 17
Wscript.Echo "Main System Chassis"
Case 18
Wscript.Echo "Expansion Chassis"
Case 19
Wscript.Echo "Sub-Chassis"
Case 20
Wscript.Echo "Bus Expansion Chassis"
Case 21
Wscript.Echo "Peripheral Chassis"
Case 22
Wscript.Echo "Storage Chassis"
Case 23
Wscript.Echo "Rack Mount Chassis"
Case 24
Wscript.Echo "Sealed-Case PC"
Case Else
Wscript.Echo "Unknown"
End Select
Next
Next
在您提問以前,不,我們并不知道這些大多數(shù)計算機類型是什么,也不知道便攜式計算機、膝上型計算機以及筆記本計算機之間有什么區(qū)別。我們也不知道 ChassisTypes 屬性為什么存儲為數(shù)組。那是否意味著一臺計算機可以有多種計算機類型?不要問我們,我們也不知道。讓我們喘口氣吧:畢竟我們只是 Microsoft Scripting Guy,可不是 Microsoft Hardware Guy
相關(guān)文章
VBS教程:VBscript屬性-Description 屬性
VBS教程:VBscript屬性-Description 屬性...2006-11-11vbscript基礎(chǔ)篇 - vbs變量定義與使用方法
VBScript只有一種數(shù)據(jù)類型 —— Variant,它是根據(jù)上下文來判斷是數(shù)字還是字符串。因為Variant是VBScript中唯一的數(shù)據(jù)類型,所以它也是VBScript中所有函數(shù)的返回值的數(shù)據(jù)類型2018-05-05網(wǎng)馬生成器 MS Internet Explorer XML Parsing Buffer Overflow Explo
MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day利用代碼2009-01-01