win32_service类是动态类。
2. Locale = 1033 代表着区域设置或者叫本地化编码,是一组与用户的语言、国家/地区以及文化传统有关的用户首选信息,确定诸如:键盘布局、字母的排序顺序,以及日期、时间、数字、货币等的格式,一般不用管它。
3. provider = CIMWin32 Provider代表的是类的提供程序,说明win32_service类是由CimWin32.dll提供的。
4. SupportsUpdate = True 指出类是否支持实例的修改。
5. UUID = {8502C4D9-5FBB-11D2-AAC1-006008C78BC7} 代表本地计算机上的全球通用唯一的标识符,我不知道有什么用处。
返回信息的第二部分代表了类的属性限定符
1. AcceptPause
这第一行表明检索到的类的属性名是:AcceptPause
1.1. CIMTYPE = boolean CIMType代表属性的数据类型,说明这个属性是布尔型。
1.3. read = True read代表属性可读,而Write则代表属性的值是否可以修改,如果属性没有定义Write限定符,代表什么意思呢?它代表从该类获得的实例的那个属性是不可以改写的,也就是说不能给这个属性赋值。这其实解决了一个困惑我很久的一个问题,为什么我在对很多类的属性进行了赋值后,用Put_方法对修改进行了提交,可是事实上却什么也没有改变。此外还有Key限定符指出该属性是类的键,用于识别在相同资源集合中的托管资源的唯一实例。
返回信息的第三部分代表了类的方法及方法的限定符。现在我们能用到的还不多,就不介绍了,有兴趣的朋友可以参照:http://www.doczj.com/doc/3e11660a79563c1ec5da71ae.html/en-us/library/aa393650.aspx
需要说明的是,不是在每一个类定义或者属性、方法定义中,这所有的限定符都要出现的,可能只出现了其中的一部分。
当然,我们也可以从system32"wbem"cimwin32.mof以及system32/wbem/cimwin32.mfl两个文件中读取整个托管资源的类定义和类描述,以及对每个类的属性、方法和限定符的描述,其中包含的信息很多,也包含了更多的类限定符,阅读起来有一定的难度。将上面的例子的代码和vbsedit中包含的Object Browser联合起来,可以得到我们需要的绝大部分的信息。WMI轻松入门之三——获得类的实例
2.获得类的实例
我们有4种方法获得类的实例,其中方法1和方法2是通过SwbemServices对象的InstancesOf 方法和ExecQuery方法来获得某个类的多个实例组成的集合对象。方法3和方法4则是返回单独的类的实例,即返回的是一个SWbemObject对象。
1)InstancesOf方法获得类的实例集合
InstancesOf方法的语法参数格式如下:
SwbemServices.InstancesOf(strClass)
strClass为类名,例如"Win32_Service"
回顾例二,就是用语句:Set objSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Processor ") 来获得"Win32 Processor "类的所有实例集合,然后我们可以用
For Each objSWbemObject In objSWbemObjectSet
……
Next 作者:临汾市外事旅游局薛靖澜,转载请注明
语句获得每一个类的实例SWbemObject对象,然后就可以根据我们的需要,进行相应的操作。