初识WMI编程

来源:互联网 发布:淘宝微淘在哪里发布 编辑:程序博客网 时间:2024/06/06 16:51

学习重点:
1.什么是WMI?
2.WMI的编写和运行环境条件如何?
3.WMI的基本结构是怎样呢?

一.什么是WMI?
WMI 的全名:Windows Management Instrumentation 是 Windows基础管理结构
在说WMI之前不得不提一下API即Win32应用程序编程接口(Application ProgrammingInterfaces).API是程序员访问和管理Windows资源的重要方法,但是门槛高,很多编程爱好者不得不望洋兴叹!
但是,WMI的出现使得我们可以通过一种简便的方法即利用常见的脚本语言(如:VBScript)实现访问和管理Windows资源。

二.WMI的编写和运行环境条件如何?
1.WMI的编写工具:系统自带的”记事本“便可完成编写要求和高级语言编写工具(我将用VB6来讲解代码)
2.WMI接口:高级语言:VC,VB,delphi 等,脚本语言:vbscript 等;
3.系统环境: Windows NT 4.0 Service Pack 4 之后的版本;
4.系统依赖服务:winmgmt 如果此服务未启用WMI正常无法工作。

三.WMI的基本结构是怎样呢?
********************************************************************************************************************************************
常用WMI命名空间
********************************************************************************************************************************************
1.Active Directory提供程序
链接库文件:dsprov.dll
命名空间:root\directory\ldap
作用:将Active Directory 对象映射到 WMI。

2.事件日志提供程序
链接库文件:ntevt.dll
命名空间:root\cimv2
作用:管理 Windows 事件日志,例如,读取、备份、清除、复制、删除、监视、重命名、压缩、解压缩和更改事件日志设置。

3.注册表提供程序
链接库文件:stdprov.dll
命名空间:root\default
作用:读取、写入、枚举、监视、创建、删除注册表项和值。

4.Win32 提供程序
链接库文件:cimwin32.dll               
命名空间:root\cimv2       <----------------我们学习的重点
作用:提供关于计算机、磁盘、外围设备、文件、文件夹、文件系统、网络组件、操作系统、打印机、进程、安全性、服务、共享、SAM 用户及组,以及更多资源的信息。

5.Windows 安装程序提供程序
链接库文件:msiprov.dll
命名空间:root\cimv2
作用:提供对已安装软件信息的访问。
......
**********************************************************************************************************************************************
命名空间:root\cimv2 下面的 Win32 类
*********************************************************************************************************************************************
Win32_Processor                   
Win32_Keyboard                        
Win32_PointingDevice                  
Win32_DiskDrive                       
Win32_CDROMDrive                      
Win32_BaseBoard                       
Win32_BIOS                            
Win32_ParallelPort                    
Win32_SerialPort                     
Win32_SoundDevice                     
......
*********************************************************************************************************************************************
WMI的结构实在庞大,关于它的每个结构上的分支我就不一一道来!我只讲精要和常用的部分。
我们总结一下WMI的结构(理论很多,不过理论扎实了扩展和延伸学习就容易多了,反面也说明了WMI的强大嘛!?)
     WMI
     |
      诸多“命名空间”
     |
    每个”命名空间“下 有诸多“类”
     |
    每个”类“ 下 有诸多“方法”、“属性”

       “SQL查询语句”-贯穿在这个庞大结构之中的索引
“命名空间”:具有一定相同功能的“类”的封装集合;
“类”:具有一定相同功能的“方法”的封装集合;
“方法”:一个函数过程 语法结构: Function...End Function
“属性“:构成方法的基本要素。
它们之间的关系就是包含与被包含的关系。