C ++ Qt - 获取物理磁盘大小(Win32)

时间:2013-03-10 00:54:04

标签: c++ qt winapi hard-drive

如何在Windows上使用C ++ / Qt框架获取当前计算机上所有硬盘的物理大小?需要说明的是,如果我有640 GB硬盘,我希望应用程序显示640 GB,而不是596 GB的可用空间。

我知道Qt可能没有我可以使用的功能,因为它必须是特定于平台的,所以我想在这种情况下来自Win32 API。不幸的是我无法使用GetDiskFreeSpaceEx(),因为我只能获得免费/可用的磁盘空间。我已经阅读了有关使用WMI的内容,但我似乎无法为此找到任何可用的代码示例。

1 个答案:

答案 0 :(得分:3)

我认为这个问题主要是由于操作系统和硬盘驱动器制造商使用的测量不一致而导致的问题。有关详细信息,请查看this wikipedia page。也许找到一种方法来做数学,同时将1千字节视为1000字节(而不是1024),1兆字节为1000 * 1000等等 - 而不是1千字节为1024字节等。