使用WMI来得到系统的服务

原创 2004年08月09日 01:05:00

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

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

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

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

?<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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中就出现了系统的服务,然后可以选择任意一项,选择启动或者关闭操作。

VB 使用WMI编程(一)

由底至上是:          • 托管资源           • WMI 基础结构           • 使用者 托管资源    托管资源是任意逻辑或物理组件,通过使用 WMI 进行公开和管理。...
  • wu8313
  • wu8313
  • 2009-10-24 07:39:00
  • 2218

VB中使用WMI 二(不用引用microsoftwmi scripting的方法)

发现要使用WMI,不一定要引用microsoft wmi scripting       如下:找出安装的SQL Server服务     Dim objServer As Object...
  • MasterLonely
  • MasterLonely
  • 2012-10-04 14:02:04
  • 693

WMI需要开启服务才可以使用

windows系统怎样开启WMI服务 WMI(Windows Management Instrumentation Windows 管理规范)是一项核 心的 Windows 管理技...
  • thanklife
  • thanklife
  • 2017-06-27 10:27:35
  • 1435

WMI技术介绍和应用——查询系统服务

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客...
  • breaksoftware
  • breaksoftware
  • 2013-02-14 21:51:17
  • 2383

VB中使用WMI获取系统硬件和软件有关信息

原帖地址:http://blog.csdn.net/ericbai/article/details/474308 WMI是英文Windows Management Instrum...
  • whatnamecaniuse
  • whatnamecaniuse
  • 2013-11-20 20:40:34
  • 3129

VB中通过WMI控制DNS服务器,可在ASP中调用

在VB中要使用Scripting API for WMI,必须引用 Microsoft WMI Scripting V1.1 Library下面介绍Scripting API For WMI的几个对象...
  • fastson
  • fastson
  • 2004-12-13 11:29:00
  • 969

使用WMI检查服务状态

Python代码: import wmi c = wmi.WMI() stopped_services = c.Win32_Service(StartMode="Auto", State...
  • xiecj_2006
  • xiecj_2006
  • 2014-12-18 20:46:12
  • 670

wmi服务修复批处理文件 用于无法启动Wmi服务无法启动情况

  • 2010年03月09日 13:23
  • 640B
  • 下载

获取CPU序列号

必须引用 Microsoft WMI Scripting v1.1 Library Private Sub Command1_Click() Dim cpuSet As SWbemObjectSet ...
  • cike_1111
  • cike_1111
  • 2008-01-07 17:28:00
  • 342

使用WMI得到计算机的信息

使用WMI得到计算机的信息WMI是一项行业推荐规范,旨在为访问企业环境中的管理信息而开发一种标准化技术。该信息包括系统内存的状态、当前安装的客户应用程序清单,以及有关客户端状态的其他数据。WMI是可伸...
  • online
  • online
  • 2004-03-12 14:21:00
  • 3578
收藏助手
不良信息举报
您举报文章:使用WMI来得到系统的服务
举报原因:
原因补充:

(最多只允许输入30个字)