如何在C ++中使用WMI获取硬盘所有逻辑驱动器的可用空间?

时间:2016-04-26 07:10:06

标签: c++ wmi

我想用c ++和WMI计算整个硬盘的可用空间。

例如。 如果HDD包含3个逻辑驱动器,则说C:,D:,E:  并且每个逻辑驱动器都具有以下配置。

驱动总空间可用空间

C:10GB 5 GB D:20GB 8 GB E:15GB 7 GB

所以我需要获取免费的硬盘空间,即所有驱动器C,D和E的可用空间。

所以它应该返回5 + 8 + 7 = 20 GB。

此外,我不知道该硬盘驱动器的所有逻辑驱动器是什么。

1 个答案:

答案 0 :(得分:0)

非WMI更容易。

您可以使用GetLogicalDriveStringshttps://msdn.microsoft.com/en-us/library/windows/desktop/aa364975(v=vs.85).aspx)获取系统中的所有驱动器。

接下来使用GetDiskFreeSpacehttps://msdn.microsoft.com/en-us/library/windows/desktop/aa364935(v=vs.85).aspx)查找特定驱动器的可用空间。

如果您真的想(必须)坚持WMI,页面https://msdn.microsoft.com/en-us/library/windows/desktop/aa393244(v=vs.85).aspx将提供有关如何实例化WMI类的一些指示,您将需要使用Win32_LogicalDisk({{ 3}})具有FreeSpace成员的类。