【WMI】WMI For C# dotNet对WMI的支持

原创 2007年09月15日 22:02:00
 dotNet对于WMI的支持

        .NET框架中与WMI规范有关的命名空间有两个,分别是System.Management和System.Management.Instrumentation命名空间。前者用来访问标准WMI提供程序提供的功能,获取系统信息,或者执行提供程序的方法(比如修改系统的属性、执行关机动作等)等;后者则是用来注册新提供程序、创建新类和发布实例。

System.Management命名空间中的类主要有:
ManagementClass——管理类
        ManagementClass的构造函数输入参数为WMI类名称,标识管理对象(相当于COM中的IWbemServices ),例如:
diskman = new ManagementClass("Win32_LogicalDisk");
        diskman代表Win32平台下的整个逻辑磁盘的管理对象。

ManagementObjectCollection——管理对象的集合。(相当于COM中的枚举器IEnumWbemClassObject)

ManagementObject——为具体的数据管理对象,(相当于COM中的IWbemClassObject)。
        对于上面的例子而言,可以对应逻辑磁盘的C分区管理对象。看下面的代码:
ManagementObjectCollection disks = diskman.GetInstances();
foreach (ManagementObject disk in disks)
{
        Console.WriteLine(
"Disk = {0}" , disk["Name"].ToString());
        Console.WriteLine(
"Disk = {0}" , disk["FileSystem"].ToString());
         Console.WriteLine(
"Disk = {0}" , disk["Size"].ToString());
}
        disks为逻辑磁盘分区C,D,E…的集合,对于每一个逻辑分区,由一个disk对象管理其数据,并输出名称,文件系统和磁盘空间大小。

ManagementQuery
        用作所有查询类的基础,作为查询的抽象基类,可以继承以实现其方法,它被声明为abstract的,这意味着我们不能创建一个该类的实例,但可以用该类型的对象代表它的所有派生类对象。.NET提供了从ManagementQuery两个派生的类: EventQuery和ObjectQuery分别用于查询管理事件和管理对象,而我们通常使用的SelectQuery是从ObjectQuery派生而来,详细请参见.NET Class Library Reference。

ManagementObjectSearcher
用于根据指定的查询或枚举检索管理对象的集合。
SelectQuery selectQuery = new SelectQuery("win32_logicaldisk");
ManagementObjectSearcher searcher 
=
            
new ManagementObjectSearcher(selectQuery);
foreach (ManagementObject disk in searcher.Get())
{
          Console.WriteLine(disk.ToString());
}
        以上代码指定searcher的查询为selectQuery,即Win32逻辑磁盘的集合查询,然后将这些逻辑磁盘分区输出。也可以直接使用WQL查询语句来实例化ManagementObjectSearcher对象:
ManagementObjectSearcher search =
       
new ManagementObjectSearcher(“SELECT * FROM Win32_ LogicalDisk”);

ManagementEventWatcher
        用于预订WMI事件通知。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[问题记录.dotnet]取网卡信息报错"找不到"-WMI - Not found

System.Management.ManagementException: 找不到 System.Management.ManagementException: Not found 错误的解决

C# WMI实例

  • 2008-08-04 10:38
  • 40KB
  • 下载

WMI For C++/COM基础知识

WMI For C++/COM基础知识 知识背景         WBEM——Web Based Enterprise Management是一种行业规范,建立了在企业网络中访问和共享管理信息...

c#使用WMI更改IP地址

  • 2012-09-11 11:30
  • 58KB
  • 下载

WMI SDK For XP(the latest)

  • 2008-08-26 16:17
  • 5.32MB
  • 下载

c#与WMI使用技巧集

1、 什么是WMI  WMI是英文Windows Management Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够...

wmi远程控制(c#源代码)

  • 2009-02-01 09:56
  • 26KB
  • 下载

C#:基于WMI查询USB设备

/* ---------------------------------------------------------- 文件名称:WMIUsbQuery.cs 作者:秦建辉 MSN:splas...
  • jhqin
  • jhqin
  • 2011-08-31 09:46
  • 12655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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