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

标签 c++ qt winapi hard-drive

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

我知道 Qt 可能没有我可以使用的函数,因为它必须是特定于平台的,所以我猜在这种情况下是来自 Win32 API 的东西。不幸的是我不能使用 GetDiskFreeSpaceEx(),因为我只能获得空闲/可用的磁盘空间。我读过有关使用 WMI 的信息,但我似乎找不到任何可用于此目的的代码示例。

最佳答案

我认为这个问题主要是表面现象,因为操作系统和硬盘驱动器制造商使用的测量结果不一致。检查this wikipedia page了解更多信息。也许找到一种计算方法,同时将 1 KB 视为 1000 字节(而不是 1024),将 1 MB 视为 1000 * 1000 等等——而不是将 1 KB 视为 1024 字节等。

关于C++ Qt - 获取物理磁盘大小 (Win32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15317709/

相关文章:

c# - 未正确对齐的字段

c++ - WM_TIMER 具有更高的优先级?

c++ - HttpFilterProc 在 C++ 中不起作用

c++ DLNA 字幕显示实现与白金库

c++ - 如何通过WebRTC发送ffmpeg AVPacket(使用libdatachannel)

qt - Qt 样式表中的 'not equal to' 选择器是什么?

c++ - 通过引用传递空 QString

QT:尝试获取网页源代码时未解析的外部符号

c++ - Win32 PlaySound 重叠音频

winapi - 使用 GL_RGBA 颜色缓冲区设置 Win32 OpenGL 窗口