本文共 777 字,大约阅读时间需要 2 分钟。
今天项目中需要计算win10系统中所有硬盘的内存和,查阅相关资料,最终找到合适的方法,下面介绍一下。
GetDiskFreeSpaceExA()原型:WINBASEAPIBOOLWINAPIGetDiskFreeSpaceExA( _In_opt_ LPCSTR lpDirectoryName, // 磁盘卷名,如C:\\ D:\\ 等 _Out_opt_ PULARGE_INTEGER lpFreeBytesAvailableToCaller, _Out_opt_ PULARGE_INTEGER lpTotalNumberOfBytes, // 当前磁盘的内存大小 _Out_opt_ PULARGE_INTEGER lpTotalNumberOfFreeBytes // 当前磁盘总的剩余内存 );
如果只有一个磁盘,只需要计算当前磁盘的大小,如果有多个磁盘,利用for循环的方式计算出每个磁盘的大小,最终求所有磁盘的总和。
#include#include #include float GetDiskTotalMemory(const char drive_letter){ BOOL fResult; unsigned long long freeBytesToCaller; unsigned long long totalBytes; unsigned long long freeBytes; char dir[4] = { drive_letter, ':', '\\', '\0'}; qDebug()<<"start "< <
转载地址:http://vxuun.baihongyu.com/