使用WMI获得硬盘的信息
2024-07-21 02:17:15
供稿:网友
 
首先,什么是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 object
class 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 system
imports 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 integer
dim diskclass as new managementclass("win32_logicaldisk")
diskclass.get()
console.writeline(("logical disk class has " & diskclass.properties.count.tostring() & " properties"))
return 0
end function
end class 
注册会员,创建你的web开发资料库,