.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
使用WMI来得到系统的服务

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

WMI是可伸缩的系统管理结构,该规范采用一个统一、基于标准且可扩展的面向对象接口。它提供与系统管理员信息和基础WMI API交互的标准方法,主要由系统管理应用程序开发人员和系统管理员用来访问和操作系统管理信息。

WMI可用来生成组织和管理系统信息的工具,使系统管理人员能够更密切的监视系统活动。

WMI提供了一套内置在Microsoft Windows操作系统中的丰富的系统管理服务,现在有大量的应用程序、服务和设备用其为信息技术操作和产品支持组织提供全方位的管理功能。基于WMI的管理系统的使用带来了更可靠的计算环境和更高的系统可靠性。

?????? 我们看看怎样通过WMI提供的强大功能来实现windows系统服务的浏览、启动和关闭。

?

Winxp+VB6+SP6

新建VB工程,在form上添加ListView,3个按钮控件。

'引用microsoft wmi scripting v1.2 library

?

代码如下:

Public Locator As SWbemLocator

Public services As SWbemServices

'Dim oWMINameSpace As SWbemServices

?

'引用microsoft wmi scripting v1.2 library

Private Sub Form_Load()

'Set oWMINameSpace = GetObject("winmgmts:")

??? ListView1.ListItems.Clear

??? ListView1.ColumnHeaders.Add , , "服务名", 1000

??? ListView1.ColumnHeaders.Add , , "详细信息", 4000

??? ListView1.ColumnHeaders.Add , , "状态", 1000

???

??? '实例化

??? Set Locator = New SWbemLocator

??? '连接计算机,”yang”是计算机名

??? Set services = Locator.ConnectServer("yang")

End Sub

?

Private Sub Command1_Click()

Dim Item As ListItem

Set ServiceSet = GetObject("winmgmts:").InstancesOf("Win32_Service")

?

For Each Service In ServiceSet

??? Set Item = ListView1.ListItems.Add(, Service.Name, Service.Name)

??? Item.SubItems(1) = Service.Description & ""

??? Item.SubItems(2) = Service.State & ""

Next

End Sub

?

Private Sub Command2_Click()

??? Dim ServiceObject As SWbemObject

??? Dim ServiceName

???

??? On Error Resume Next

??? ServiceName = ListView1.SelectedItem.Text

??? If Err.Number = 0 Then

??????? Set ServiceObject = services.Get("Win32_Service='" & ServiceName & "'")

??????? ServiceObject.StartService

??? End If

End Sub

?

Private Sub Command3_Click()

??? Dim ServiceObject As SWbemObject

??? Dim ServiceName

???

??? On Error Resume Next

??? ServiceName = ListView1.SelectedItem.Text

??? If Err.Number = 0 Then

???

??????? Set ServiceObject = services.Get("Win32_Service='" & ServiceName & "'")

??????? ServiceObject.StopService

??? End If

End Sub

?

运行后,点击按钮,ListView中就出现了系统的服务,然后可以选择任意一项,选择启动或者关闭操作。




相关文章

相关软件