欢迎光临
我们一直在努力

使用WMI获得硬盘的信息-.NET教程,.NET Framework

建站超值云服务器,限时71元/月

首先,什么是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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用WMI获得硬盘的信息-.NET教程,.NET Framework
分享到: 更多 (0)