C# - 获取物理驱动器的列表或数量(不是逻辑驱动器)

dol*_*gom 3 c# winapi

我实现了程序,通过访问路径"\\.\ PhysicalDrive0"逐位读取和分析物理磁盘.

我希望用户在物理磁盘列表中选择物理磁盘.

我知道如果我更改路径的最后一个数字,我可以读取另一个物理磁盘,但我不知道如何获取物理磁盘列表或物理磁盘的数量.

我怎么能获得物理磁盘号列表?

我必须使用哪个功能?

dec*_*cPL 7

使用WMI,例如:

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();
}
Run Code Online (Sandbox Code Playgroud)

这将为您提供系统中物理驱动器的设备ID列表.

  • 如果有效,请标记他的回复,以便它可以帮助他人. (2认同)