欢迎来到天天文库
浏览记录
ID:19675821
大小:388.00 KB
页数:79页
时间:2018-10-04
《vb使用wmi编程讲座(原版整理)(持续更新)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、VB使用WMI编程讲座(原创)一、认识WMI通常VB程序员经常抱怨VB在编制Windows系统软硬件设备控制方面的程序比较困难,即使能实现一些功能,那也是要通过调用繁复的API函数,即难找寻到合适的函数,又难以理解设置函数中的各项参数,尤其是调试异常困难,动不动整个程序连带VB环境一起死悄悄。此外,用API编程几乎完全抛弃了面向对象的编程方法,迫使我们回到过程方式的编程。那怎么办呢?^_^别急,微软在WIN2000系统中推出了VBScript脚本语言替代原来的批命令,同时提供了一个供VBScript管理Windows系统的对象WMI。那这个WMI对象我们VB能用吗?答案是肯定的,当然能用,而且
2、用起来还非常方便,在网上也已经有了一些VB写的利用WMI实现Windows系统管理编程的例程,但却缺少系统性介绍使用VB对WMI编程的资料。本文就针对此问题,进行一个尝试。当然要学习WMI编程,需要有一定的VB基础,但要求不高,只要会用控件、对象,能理解和使用对象的方法、属性,但不需要任何API方面的知识和编程经验。首先我们要知道什么是WMI?WMI是WindowsManagementInstrumentation(Windows管理工具)的缩写,是内置在Windows2000、WindowsXP和WindowsServer2003系列操作系统中核心的管理支持技术。基于由Distributed
3、ManagementTaskForce(DMTF)所监督的业界标准,WMI是一种规范和基础结构,通过它可以访问、配置、管理和监视所有的—几乎所有的Windows资源。呵呵,不要对这段文字进行咬文嚼字,通俗的讲,就是WMI是一个用于管理Windows系统的对象,就像ADO对象是用于数据库操作的。利用WMI我们可以管理Windows系统中的磁盘、事件日志、文件、文件夹、文件系统、网络组件、操作系统设置、性能数据、打印机、进程、注册表设置、安全性、服务、共享、用户、组等等。而WMI适用的运得环境也是有些限制的,WMI附带在WindowsMe、Windows2000、WindowsXP和Windows
4、Server2003之中。对于Windows98和WindowsNT4.0,可以访问http://www.microsoft.com/downloads并搜索“WindowsManagementInstrumentation(WMI)CORE1.5(Windows95/98/NT4.0)”。注意:在WindowsNT4.0上安装并运行WMI之前,需要首先安装ServicePack4或更高版本。WMI需要的其他软件包括:1.MicrosoftInternetExplorer5.0或更高版本。2.WindowsScriptHost(WSH)。Windows2000、WindowsXP、Window
5、sServer2003、和WindowsMe附带的WSH,而不是WindowsNT4或Windows98附带的WSH。您可以从以下地址下载WSHhttp://www.microsoft.com/downloads.WSH的最新版本——包括在WindowsXP和WindowsServer2003之中——是WSH5.6。要使WMI脚本可以正常的运行,Windows里的WMI服务(winmgmt)保证是运行的,这样才可以实现WMI里的更多功能。好了,关于WMI的一些基本的信息资料就说到这,要想看更多的可以到MicroSoft网站的MSDN找。大家都喜欢通过例程来学东西,那我们也先编一段程序来看看。不
6、知道大家看到过没有本人在本论坛中曾经写过一篇“自己做进程管理器”的帖子,在那篇帖子里主要是采用API函数罗列出当前系统下正在运行的所有进程,下面我们利用WMI也来做一个进程管理器。首先建立一个新工程具有Form1窗体,在菜单中的【工程】—【部件】下,添加“MicrosoftWindowsCommonControls6.0”,在菜单中的【工程】—【引用】下,添加“MicrosoftWMIScriptingV1.1Library”,然后在Form1窗体上添加1个ListView1和Command1、Command2,在代码窗口添加如下代码(例程1):OptionExplicitDimobjSWbe
7、mLocatorAsNewSWbemLocatorDimobjSWbemServicesAsSWbemServicesDimobjSWbemObjectSetAsSWbemObjectSetDimobjSWbemObjectAsSWbemObjectPrivateSubForm_Load()Me.Caption="进程管理器"Command1.Caption="刷新"Command2.Captio
此文档下载收益归作者所有