VB 使用WMI编程讲座(二)
五、 CIM储存库和CIM类(1)
上一讲我们介绍了WMI的体系结构,还记得那张体系结构图吗?记得我们说到关注的重点应该是CIM储存库和WMI脚本对象库,为什么我们这样说呢?因为我们的程序直接是利用WMI脚本对象库进行编程,而这个WMI脚本对象获取或操作的内容都是来自CIM储存库(注意:我们这里说的CIM储存库,指的“是公共信息模型对象管理器Common Information Model Object Manager,CIMOM”和“公共信息模型Common Information Model,CIM 储存库”。这样做一是为了叙述和理解方便,其次目前对我们编写WMI应用程序来说实在没有必要把它区分开来)。为了强调CIM储存库和CIM类的重要性,仔细观察一下在前几讲中展示的实例1至实例4,唯一有区别的是标识 WMI 托管资源的类名和每个类属性的子集。相同程序模板可以用来检索全部的物理内存、服务、事件日志记录、进程和操作系统信息,这一事实说明了 CIM 类在 WMI应用程序中扮演的重要角色。一旦知道如何编写一个程序来管理一类 WMI 托管资源,您就可以对其他托管资源使用相同的基本技术。
当然,知道一个托管资源的类名以及该类的相应属性只是本文的一部分。在您能够巧用WMI的全部强大功能之前,您需要对 CIM 储存库和 CIM 类的结构了解得再多一些。为什么呢?我们将给出两个重要的理由:了解如何浏览 CIM 将帮助您确定通过 WMI 公开的计算机和软件资源,另一个是了解如何解释托管资源的类定义,将帮助您理解可以在托管资源上执行的任务。
那么如何了解或学习它呢?一种方法是通过查阅微软或其他第三方提供的各种资料书籍或使用一些WMI工具。另一种更强大、灵活的方法是使用 WMI 脚本对象库。关于 WMI,真正酷的事情之一是,您可以使用 WMI 脚本对象库来学习 WMI。没错,用编写 WMI 应用程序来检索 WMI 托管资源相同的方法,您也可以编写 WMI 应用程序来学习关于 WMI 本身的各种有趣的详细信息。您可以编写 WMI 应用程序来列出 CIM 储存库中所有的命名空间和类,您可以编写应用程序来列出一台启用 WMI 的计算机上安装的所有提供程序,您甚至可以编写 WMI 脚本来检索托管资源类定义。我们下面的例程9就是采用编写WMI 应用程序来获得CIM的所有命名空间。
接下来让我们仔细了解一下 WMI 的管理模型 — CIM 储存库。
CIM 储存库
在第上一讲中,我们说到 WMI 的基本思路是 &md
相关文档:
VB程序破解
VB 程序简介
现在不少程序是用 VB 写的,你通过反汇编或跟踪调试时很容易鉴别某个程序是否为 VB 程序,VB 的 EXE 文件并不是真正的编译可执行文件,它们需其动态链接库才能正常运行,各版本的链接库如下:
VB3 链接库为 vbrun300.dll ;
VB4 链接库为 vb40016.dll ; - 16 位,较少见;
VB4 ......
Private Sub Command1_Click()
Dim MyComm As New ADODB.Command '定义一个命令对象
Dim Rs_GetList As New ADODB.Recordset '定义一个记录集对象
Dim param As ADODB.Parameter ......
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
&nbs ......