用vbs实现判断计算机是笔记本还是台式机的代码

时间:2021-05-22

ChassisTypes属性可以告诉您,您使用的是笔记本电脑、台式计算机还是其他类型的计算机。哦,输入。以下脚本可以让您知道您使用的是哪种类型的计算机:

复制代码 代码如下:
strComputer="."
SetobjWMIService=GetObject("winmgmts:"_
&"{impersonationLevel=impersonate}!\\"&strComputer&"\root\cimv2")
SetcolChassis=objWMIService.ExecQuery_
("Select*fromWin32_SystemEnclosure")
ForEachobjChassisincolChassis
ForEachstrChassisTypeinobjChassis.ChassisTypes
Wscript.EchostrChassisType
Next
Next


好吧,以上脚本只是在一定程度上让您知道您使用的是哪种类型的计算机。实际上,ChassisType属性返回的是一个数字,这就是说当我们在面前的计算机上运行这个脚本时,我们将得到10。那么,什么是10呢?根据WMISDK,它指的是笔记本计算机。猜一猜会发生什么呢?没错!

但您并不必每次检查计算机类型时都参考SDK。以下经过扩展的脚本使用一个SelectCase语句,它可将这些整数转换为更有意义的内容:

复制代码 代码如下:
strComputer="."
SetobjWMIService=GetObject("winmgmts:"_
&"{impersonationLevel=impersonate}!\\"&strComputer&"\root\cimv2")
SetcolChassis=objWMIService.ExecQuery_
("Select*fromWin32_SystemEnclosure")
ForEachobjChassisincolChassis
ForEachstrChassisTypeinobjChassis.ChassisTypes
SelectCasestrChassisType
Case1
Wscript.Echo"Other"
Case2
Wscript.Echo"Unknown"
Case3
Wscript.Echo"Desktop"
Case4
Wscript.Echo"LowProfileDesktop"
Case5
Wscript.Echo"PizzaBox"
Case6
Wscript.Echo"MiniTower"
Case7
Wscript.Echo"Tower"
Case8
Wscript.Echo"Portable"
Case9
Wscript.Echo"Laptop"
Case10
Wscript.Echo"Notebook"
Case11
Wscript.Echo"Handheld"
Case12
Wscript.Echo"DockingStation"
Case13
Wscript.Echo"All-in-One"
Case14
Wscript.Echo"Sub-Notebook"
Case15
Wscript.Echo"SpaceSaving"
Case16
Wscript.Echo"LunchBox"
Case17
Wscript.Echo"MainSystemChassis"
Case18
Wscript.Echo"ExpansionChassis"
Case19
Wscript.Echo"Sub-Chassis"
Case20
Wscript.Echo"BusExpansionChassis"
Case21
Wscript.Echo"PeripheralChassis"
Case22
Wscript.Echo"StorageChassis"
Case23
Wscript.Echo"RackMountChassis"
Case24
Wscript.Echo"Sealed-CasePC"
CaseElse
Wscript.Echo"Unknown"
EndSelect
Next
Next


在您提问以前,不,我们并不知道这些大多数计算机类型是什么,也不知道便携式计算机、膝上型计算机以及笔记本计算机之间有什么区别。我们也不知道ChassisTypes属性为什么存储为数组。那是否意味着一台计算机可以有多种计算机类型?不要问我们,我们也不知道。让我们喘口气吧:毕竟我们只是MicrosoftScriptingGuy,可不是MicrosoftHardwareGuy

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章