我可以知道有多少分区及其名称有来自C#的驱动器吗?

时间:2009-07-25 23:03:41

标签: c#

我需要从.NET中的应用程序中识别出驱动器是否具有特定的非Windows分区。这可以从C#中获得吗?逻辑上我只需要知道分区是否存在,我不需要读入它。

提前多多感谢。

3 个答案:

答案 0 :(得分:2)

我自己没有尝试过,但是System.Management.ManagementObject类及其相关类型可以让您访问WMI功能。其中一种WMI类型

Win32_DiskDrive
Win32_DiskPartition
Win32_LogicalDisk

可能会完成这项工作。

答案 1 :(得分:2)

以下是一些原型C#类可以帮助您入门:

如何:(几乎)通过C#在WMI中的所有内容 - 第3部分:硬件 http://www.codeproject.com/KB/cs/EverythingInWmi03.aspx?msg=2310667

还有这个:
An in-depth look at WMI and Instrumentation: Part II

答案 2 :(得分:1)

基于this article,我假设您可以按照上面的建议使用System.Management。使用Win32_DiskPartition键可以计算返回的分区数。像

这样的东西
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from " + "Win32_DiskPartition");
ManagementObjectCollection moc = mos.Get();

MessageBox.Show("Number of partitions" + moc.Count);