在Windows上,Qt 不能直接获得硬盘字节数,和可用字节数。需要调用Windows API来获得。
获得方法很简单,只需要调用GetDiskFreeSpaceEx API就能够得到我们想要的结果。
void QVolumeFreeSpace::getVolumeFreeSpace(const QString &path)
{
std::wstring wPath = path.toStdWString();
if (wPath.empty())
return;
LPCWSTR lPath = (LPCWSTR)wPath.c_str();
ULARGE_INTEGER uFreeByteAvailable, uTotalByte, uTotalFreeBytes;
if (!GetDiskFreeSpaceEx(lPath,&uFreeByteAvailable,&uTotalByte,&uTotalFreeBytes))
return;
}
测试结果:
我测试的我电脑上的E盘,可以看到结果和直接查看盘的属性的结果是1样的。
交换qq:1245178753
本文地址:http://blog.csdn.net/u011417605/article/details/51536663
源码下载:http://download.csdn.net/detail/u011417605/9535113