使用WMI获得硬盘的信息
2008-04-24 10:27
387 查看
首先,什么是WMI?
WMI(Windows管理架构:Windows Management Instrumentation)是Microsoft基于Web的企业管理(WBEM)和 Desktop Management Task Force(DMTF)工业标准的实现. 就是一种基于标准的系统管理的开发接口,这组接口用来控制管理计算机. 它提供了一种简单的方法来管理和控制系统资源.
如果你想深入了解他,可以参考Micorosft Platform SDK . 在这我们只是通过它实现一个简单的功能, 得到我们系统中硬盘的相关信息.
我们需要使用.net Framwork里面System.Management名字空间下提供的类来实现.
using System;
using System.Management;
using System.Collections;
using System.Collections.Specialized;
namespace ACE_Console
{
class ACE_Console
{
[STAThread]
static void Main(string[] args)
{
StringCollection propNames = new StringCollection();
ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");
PropertyDataCollection props = driveClass.Properties;
foreach (PropertyData driveProperty in props)
{
propNames.Add(driveProperty.Name);
}
int idx = 0;
ManagementObjectCollection drives = driveClass.GetInstances();
foreach (ManagementObject drv in drives)
{
Console.WriteLine(" Drive({0}) Properties ", idx+1);
foreach (string strProp in propNames)
{
Console.WriteLine("Property: {0}, Value: {1}", strProp, drv[strProp]);
}
}
}
}
} .net Framework SDK自带的帮助里有获得逻辑硬盘大小的代码:
[C#]
using System;using System.Management; // This example demonstrates getting information about a class using the ManagementClass objectclass Sample_ManagementClass{ public static int Main(string[] args) { ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk"); diskClass.Get(); Console.WriteLine("Logical Disk class has " + diskClass.Properties.Count + " properties"); return 0; }}
[vb]
Imports SystemImports System.Management // This example demonstrates getting information about a class using the ManagementClass Class Sample_ManagementClass
Overloads Public Shared Function Main(args() As String) As IntegerDim diskClass As New ManagementClass("Win32_LogicalDisk")diskClass.Get()Console.WriteLine(("Logical Disk class has " & diskClass.Properties.Count.ToString() & " properties"))Return 0End FunctionEnd Class
WMI(Windows管理架构:Windows Management Instrumentation)是Microsoft基于Web的企业管理(WBEM)和 Desktop Management Task Force(DMTF)工业标准的实现. 就是一种基于标准的系统管理的开发接口,这组接口用来控制管理计算机. 它提供了一种简单的方法来管理和控制系统资源.
如果你想深入了解他,可以参考Micorosft Platform SDK . 在这我们只是通过它实现一个简单的功能, 得到我们系统中硬盘的相关信息.
我们需要使用.net Framwork里面System.Management名字空间下提供的类来实现.
using System;
using System.Management;
using System.Collections;
using System.Collections.Specialized;
namespace ACE_Console
{
class ACE_Console
{
[STAThread]
static void Main(string[] args)
{
StringCollection propNames = new StringCollection();
ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");
PropertyDataCollection props = driveClass.Properties;
foreach (PropertyData driveProperty in props)
{
propNames.Add(driveProperty.Name);
}
int idx = 0;
ManagementObjectCollection drives = driveClass.GetInstances();
foreach (ManagementObject drv in drives)
{
Console.WriteLine(" Drive({0}) Properties ", idx+1);
foreach (string strProp in propNames)
{
Console.WriteLine("Property: {0}, Value: {1}", strProp, drv[strProp]);
}
}
}
}
} .net Framework SDK自带的帮助里有获得逻辑硬盘大小的代码:
[C#]
using System;using System.Management; // This example demonstrates getting information about a class using the ManagementClass objectclass Sample_ManagementClass{ public static int Main(string[] args) { ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk"); diskClass.Get(); Console.WriteLine("Logical Disk class has " + diskClass.Properties.Count + " properties"); return 0; }}
[vb]
Imports SystemImports System.Management // This example demonstrates getting information about a class using the ManagementClass Class Sample_ManagementClass
Overloads Public Shared Function Main(args() As String) As IntegerDim diskClass As New ManagementClass("Win32_LogicalDisk")diskClass.Get()Console.WriteLine(("Logical Disk class has " & diskClass.Properties.Count.ToString() & " properties"))Return 0End FunctionEnd Class
相关文章推荐
- 使用WMI获得硬盘的信息
- C++编程中,利用WINDOWS API获得系统状态信息[CPU占用率,硬盘使用情况,内存使用情况]
- python使用wmi模块获取windows下硬盘信息的方法
- 使用WMI获取硬盘信息
- C++编程中,利用WINDOWS API获得系统状态信息[CPU占用率,硬盘使用情况,内存使用情况]
- 使用WMI获得系统信息
- 通过WMI获得硬盘序列号或其他信息
- python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
- python使用wmi模块获取windows下硬盘信息的方法
- C++编程中,利用WINDOWS API获得系统状态信息[CPU占用率,硬盘使用情况,内存使用情况]
- 学习笔记 -- 使用WMI获得系统信息
- 使用 WMI 获得计算机信息
- 关于C#中如何使用wmi获得操作系统信息?
- python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
- WMI 获取硬盘信息(使用时间)
- 使用WMI控制网络适配器的类(获取所有启用的网络适配器及其信息。设置IP、子网掩码,网关,DNS)
- 使用spring请求头信息的获得
- 使用Java程序来获得某个集群的NameNode或DataNode的相关信息
- Java网络编程从入门到精通(11):使用NetworkInterface类获得网络接口信息
- python 在linux下通过top,和dh命令获得cpu,内存,以及硬盘信息