用vbs實(shí)現(xiàn)判斷計(jì)算機(jī)是筆記本還是臺(tái)式機(jī)的代碼
更新時(shí)間:2008年06月19日 12:28:54 作者:
盡管我們并不知道您自己是怎么解決這個(gè)問(wèn)題的。大家知道,有一個(gè)很小的稱(chēng)為 Win32_SystemEnclosure 的傻瓜式 WMI 類(lèi)
ChassisTypes 屬性可以告訴您,您使用的是筆記本電腦、臺(tái)式計(jì)算機(jī)還是其他類(lèi)型的計(jì)算機(jī)。哦,輸入。以下腳本可以讓您知道您使用的是哪種類(lèi)型的計(jì)算機(jī):
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
好吧,以上腳本只是在一定程度上讓您知道您使用的是哪種類(lèi)型的計(jì)算機(jī)。實(shí)際上,ChassisType 屬性返回的是一個(gè)數(shù)字,這就是說(shuō)當(dāng)我們?cè)诿媲暗挠?jì)算機(jī)上運(yùn)行這個(gè)腳本時(shí),我們將得到 10。那么,什么是 10 呢?根據(jù)WMI SDK,它指的是筆記本計(jì)算機(jī)。猜一猜會(huì)發(fā)生什么呢?沒(méi)錯(cuò)!
但您并不必每次檢查計(jì)算機(jī)類(lèi)型時(shí)都參考 SDK。以下經(jīng)過(guò)擴(kuò)展的腳本使用一個(gè) Select Case 語(yǔ)句,它可將這些整數(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
在您提問(wèn)以前,不,我們并不知道這些大多數(shù)計(jì)算機(jī)類(lèi)型是什么,也不知道便攜式計(jì)算機(jī)、膝上型計(jì)算機(jī)以及筆記本計(jì)算機(jī)之間有什么區(qū)別。我們也不知道 ChassisTypes 屬性為什么存儲(chǔ)為數(shù)組。那是否意味著一臺(tái)計(jì)算機(jī)可以有多種計(jì)算機(jī)類(lèi)型?不要問(wèn)我們,我們也不知道。讓我們喘口氣吧:畢竟我們只是 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
好吧,以上腳本只是在一定程度上讓您知道您使用的是哪種類(lèi)型的計(jì)算機(jī)。實(shí)際上,ChassisType 屬性返回的是一個(gè)數(shù)字,這就是說(shuō)當(dāng)我們?cè)诿媲暗挠?jì)算機(jī)上運(yùn)行這個(gè)腳本時(shí),我們將得到 10。那么,什么是 10 呢?根據(jù)WMI SDK,它指的是筆記本計(jì)算機(jī)。猜一猜會(huì)發(fā)生什么呢?沒(méi)錯(cuò)!
但您并不必每次檢查計(jì)算機(jī)類(lèi)型時(shí)都參考 SDK。以下經(jīng)過(guò)擴(kuò)展的腳本使用一個(gè) Select Case 語(yǔ)句,它可將這些整數(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
在您提問(wèn)以前,不,我們并不知道這些大多數(shù)計(jì)算機(jī)類(lèi)型是什么,也不知道便攜式計(jì)算機(jī)、膝上型計(jì)算機(jī)以及筆記本計(jì)算機(jī)之間有什么區(qū)別。我們也不知道 ChassisTypes 屬性為什么存儲(chǔ)為數(shù)組。那是否意味著一臺(tái)計(jì)算機(jī)可以有多種計(jì)算機(jī)類(lèi)型?不要問(wèn)我們,我們也不知道。讓我們喘口氣吧:畢竟我們只是 Microsoft Scripting Guy,可不是 Microsoft Hardware Guy
相關(guān)文章
VBS教程:VBscript屬性-Description 屬性
VBS教程:VBscript屬性-Description 屬性...2006-11-11vbscript基礎(chǔ)篇 - vbs變量定義與使用方法
VBScript只有一種數(shù)據(jù)類(lèi)型 —— Variant,它是根據(jù)上下文來(lái)判斷是數(shù)字還是字符串。因?yàn)閂ariant是VBScript中唯一的數(shù)據(jù)類(lèi)型,所以它也是VBScript中所有函數(shù)的返回值的數(shù)據(jù)類(lèi)型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用vbs實(shí)現(xiàn)本地添加用戶(hù)的腳本
這個(gè)方法我第一次看到,以前都是用wscript.shell運(yùn)行,這個(gè)是sendkeys方法2008-06-06