【发布时间】:2017-02-13 14:14:02
【问题描述】:
我通过访问路径“\\.\PhysicalDrive0”实现了逐位读取和分析物理磁盘的程序。
我希望用户在物理磁盘列表中选择物理磁盘。
我知道如果我更改路径的最后一个数字,我可以读取另一个物理磁盘, 但是我不知道如何获取物理磁盘列表或物理磁盘的数量。
如何获取物理磁盘编号列表?
我必须使用哪个功能?
【问题讨论】:
我通过访问路径“\\.\PhysicalDrive0”实现了逐位读取和分析物理磁盘的程序。
我希望用户在物理磁盘列表中选择物理磁盘。
我知道如果我更改路径的最后一个数字,我可以读取另一个物理磁盘, 但是我不知道如何获取物理磁盘列表或物理磁盘的数量。
如何获取物理磁盘编号列表?
我必须使用哪个功能?
【问题讨论】:
使用 WMI,例如:
using System.Management;
List<String> result;
var query = new WqlObjectQuery("SELECT * FROM Win32_DiskDrive");
using (var searcher = new ManagementObjectSearcher(query))
{
result = searcher.Get()
.OfType<ManagementObject>()
.Select(o => o.Properties["DeviceID"].Value.ToString())
.ToList();
}
这会为您提供系统中物理驱动器的设备 ID 列表。
【讨论】: