【发布时间】:2013-02-27 08:11:17
【问题描述】:
如何使用 C/C++ 在 Windows 计算机上获取所有物理驱动器路径 (\\.\PhysicalDriveX)?
this 问题中的答案建议获取逻辑驱动器号,然后获取与该挂载驱动器对应的物理驱动器。问题是,我想得到 all 连接到计算机的物理驱动器,包括未安装的驱动器。
其他答案建议从 0-15 递增一个值并检查那里是否存在驱动器(\\.\PhysicalDrive0、\\.\PhysicalDrive1、...)或调用 WMIC 以列出所有驱动器。[
由于这些似乎可行,它们似乎不是最好的方法。难道没有一个简单的函数,比如GetPhysicalDrives,它简单地返回一个包含所有物理驱动器路径的std::string的向量?
【问题讨论】:
-
你看过
boost::filesystem能不能帮到你? -
我还没有查看
boost,没有。如果没有不需要另一个库的答案不会很快出现,我会看看。 -
无论是否挂载,逻辑驱动器都存在驱动器号......您仍然对没有逻辑驱动器(可识别分区)的物理磁盘有充分的担忧。