用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)文章
math.vbs 自然數(shù)n的n次方的的和或積的級(jí)數(shù)
通項(xiàng)為自然數(shù)n的n次方的的和或積的級(jí)數(shù),求和或積的表達(dá)式。2009-09-09
VBS 斷網(wǎng)后自動(dòng)關(guān)機(jī)30秒后
只要運(yùn)行它后,一旦網(wǎng)線(xiàn)被拔掉的話(huà),馬上就進(jìn)入自動(dòng)關(guān)機(jī)倒計(jì)時(shí),“-t 30”是倒計(jì)時(shí)的時(shí)間,你可以自己調(diào)整。2010-03-03
網(wǎng)馬生成器 MS Internet Explorer XML Parsing Buffer Overflow Explo
MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day利用代碼2009-01-01
vbs能調(diào)用的系統(tǒng)對(duì)象小結(jié)
這篇文章主要介紹了vbs能調(diào)用的系統(tǒng)對(duì)象小結(jié),需要的朋友可以參考下2018-04-04

