WMI 的使用
来源:互联网 发布:excel 数据左上角 编辑:程序博客网 时间:2024/04/30 02:29
Attribute VB_Name = "WMI在VB中的使用"
' WMI 的使用例程
' 需引用 MicroSoft WMI Scripting V1.2 Library
' 文件定位: C:/WINDOWS/system32/wbem/wbemdisp.TLB
Option Explicit
Private objSWbemLocator As SWbemLocator ' 创建 SWbemLocator 指针
Private objSWbemServices As SWbemServices ' 连接到 WMI 服务
Private objSWbemObjectSet As SWbemObjectSet ' 获得 WMI 托管资源(类)的实例集合
Private objSWbemObject As SWbemObject ' 枚举实例并显示属性
Private objSWbemProperty As SWbemProperty
Private objSWbemPropertySet As SWbemPropertySet
Private objSWbemMethod As SWbemMethod
Private objSWbemMethodSet As SWbemMethod
Private objSWbemQualifier As SWbemQualifier
Private strComputer As String, strNameSpace As String, strClass As String
' 启动 WMI ,建立服务对象的指针
Private Sub WMI_Start()
strComputer = "." ' 计算机名, “.”为本机
strNameSpace = "root/CIMV2" ' 命名空间
' 建立一个WBEM对象的引用指针
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
' 连接到指定计算机、命名空间的WMI,返回一个对 SWbemServices 对象的引用
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, strNameSpace)
End Sub
' 用 WMI 的 ExecQuery 查询方法获得实例
Public Sub WMI_ExecQuery()
strClass = "Win32_Process" ' 指定的类名
WMI_Start ' 启动 WMI,建立服务对象的指针
' 通过 WQL 的查询,返回指定类的指定实例
' 如:Set objSWbemObjectSet = objSWbemServices.ExecQuery("SELECT * FROM " & strClass & " WHERE Name = 'alg.exe'")
Set objSWbemObjectSet = objSWbemServices.ExecQuery("SELECT * FROM " & strClass & " WHERE Name = '" & 查找的内容 & "'")
' 枚举查询到的实例
For Each objSWbemObject In objSWbemObjectSet
With objSWbemObject
'
'
' 枚举过程
'
'
End With 'objSWbemObject
Next objSWbemObject
Set objSWbemObject = Nothing
Set objSWbemObjectSet = Nothing
End Sub
' 用 WMI 的 InstancesOf 方法获得所有实例
Public Sub WMI_InstancesOf()
strClass = "Win32_Process" ' 指定的类名
WMI_Start ' 启动 WMI,建立服务对象的指针
' 通过 InstancesOf 方法,返回指定类的所有实例
Set objSWbemObjectSet = objSWbemServices.InstancesOf(strClass)
' 枚举所有实例
For Each objSWbemObject In objSWbemObjectSet
With objSWbemObject
'
'
' 枚举过程
'
'
End With 'objSWbemObject
Next objSWbemObject
Set objSWbemObject = Nothing
Set objSWbemObjectSet = Nothing
End Sub
' 用 WMI Moniker 的 ExecQuery 查询方法获得实例
Public Sub WMI_Moniker_ExecQuery()
strComputer = "." ' 计算机名, “.”为本机
strNameSpace = "root/CIMV2" ' 命名空间
strClass = "Win32_Process" ' 指定的类名
' 建立指定计算机、命名空间的 WMI 的 SWbemServices 对象的引用
Set objSWbemServices = GetObject("winmgmts://" & strComputer & "/" & strNameSpace)
' 通过 WQL 的查询,返回指定类的指定实例
' 如:Set objSWbemObjectSet = objSWbemServices.ExecQuery("SELECT * FROM " & strClass & " WHERE Name = 'alg.exe'")
Set objSWbemObjectSet = objSWbemServices.ExecQuery("SELECT * FROM " & strClass & " WHERE Name = '" & 查找的内容 & "'")
' 枚举查询到的实例
For Each objSWbemObject In objSWbemObjectSet
With objSWbemObject
'
'
' 枚举过程
'
'
End With 'objSWbemObject
Next objSWbemObject
Set objSWbemObject = Nothing
Set objSWbemObjectSet = Nothing
End Sub
' 用 WMI Moniker 的 InstancesOf 方法获得所有实例
Public Sub WMI_Moniker_InstancesOf()
strComputer = "." ' 计算机名, “.”为本机
strNameSpace = "root/CIMV2" ' 命名空间
strClass = "Win32_Process" ' 指定的类名
' 建立指定计算机、命名空间的 WMI 的 SWbemServices 对象的引用
Set objSWbemServices = GetObject("winmgmts://" & strComputer & "/" & strNameSpace)
' 通过 InstancesOf 方法,返回指定类的所有实例
Set objSWbemObjectSet = objSWbemServices.InstancesOf(strClass)
' 枚举所有实例
For Each objSWbemObject In objSWbemObjectSet
With objSWbemObject
'
'
' 枚举过程
'
'
End With 'objSWbemObject
Next objSWbemObject
Set objSWbemObject = Nothing
Set objSWbemObjectSet = Nothing
End Sub
' 列出一个指定类的所有的属性名称,非实例内容
Public Sub WMI_List_Properties()
strComputer = "." ' 计算机名, “.”为本机
strNameSpace = "root/CIMV2" ' 命名空间
strClass = "Win32_Process" ' 指定的类名
' 建立指定计算机、命名空间、指定类的的引用
Set objSWbemObject = GetObject("winmgmts://" & strComputer & "/" & strNameSpace & ":" & strClass)
' 得到指定类的属性名集合
Set objSWbemPropertySet = objSWbemObject.Properties_
'枚举属性名
For Each objSWbemProperty In objSWbemPropertySet
'
'
'Debug.Print objSWbemProperty.Name
'
'
Next objSWbemProperty
Set objSWbemProperty = Nothing
Set objSWbemPropertySet = Nothing
Set objSWbemObject = Nothing
End Sub
- WMI 的使用
- WMI使用的WIN32_类库名
- C++使用WMI的感想
- WMI使用的WIN32_类库名
- wmi使用的win32类库名
- WMI使用的WIN32_类库名
- WMI使用的WIN32_类库名
- WMI使用的WIN32_类库名 .
- WMI使用的WIN32_类库名
- WMI 使用的 WIN32_ 类库名
- 使用WMI
- 所有的WMI可以使用的class
- 所有的WMI可以使用的class
- 使用WMI获得硬盘的信息
- 使用WMI来得到系统的服务
- 引用:WMI的使用:C#修改IP
- 使用WMI获得硬盘的信息
- 使用WMI得到计算机的信息
- 通过web 向rtx发送通知消息
- SqlServer存储过程分页:大数据量分页存储过程效率测试附代码
- flex解析加密zip文件的方法(需知密钥)
- windows核心编程读书笔记
- WebService 的缓存机制
- WMI 的使用
- linux shell 字符串操作(长度,查找,替换)详解
- Android布局
- Mule的安装配置
- QT浏览器学习之一:QWebView
- FSO 遍历文件夹和文件
- 该公司笔试题就1个,要求在10分钟内作完。 题目如下:用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列, 如:512234、412325等,要求:"4"不能在第三位,"3"与"5"不能相连。
- 试一下好不好用
- CJK Unicode Table ( UNICODE中文字符集 )