float WindowsInfo::GetDiskTotal() //单位:G
{
all_Total = 0; //函数外自定义
all_Free = 0;
DWORD dwSize = MAX_PATH;
TCHAR szLogicalDrives[MAX_PATH] = { 0 };
DWORD dwResult = GetLogicalDriveStrings(dwSize,szLogicalDrives);
if (dwResult > 0 && dwResult <= MAX_PATH)
{
TCHAR* szSingleDrive = szLogicalDrives;
while(*szSingleDrive)
{
uint64_t available, total, free;
if(GetDiskFreeSpaceEx(szSingleDrive,(ULARGE_INTEGER*)&available,(ULARGE_INTEGER*)&total,(ULARGE_INTEGER*)&free))
{
uint64_t Total, Available, Free;
Total = total>>20;
Available = available>>20;
Free = free>>20;
all_Total += Total; //总
all_Free += Free; //剩余
}
// 获取下一个驱动器号起始地址
szSingleDrive += _tcslen(szSingleDrive) + 1;
}
}
return all_Total/1024;
}
{
all_Total = 0; //函数外自定义
all_Free = 0;
DWORD dwSize = MAX_PATH;
TCHAR szLogicalDrives[MAX_PATH] = { 0 };
DWORD dwResult = GetLogicalDriveStrings(dwSize,szLogicalDrives);
if (dwResult > 0 && dwResult <= MAX_PATH)
{
TCHAR* szSingleDrive = szLogicalDrives;
while(*szSingleDrive)
{
uint64_t available, total, free;
if(GetDiskFreeSpaceEx(szSingleDrive,(ULARGE_INTEGER*)&available,(ULARGE_INTEGER*)&total,(ULARGE_INTEGER*)&free))
{
uint64_t Total, Available, Free;
Total = total>>20;
Available = available>>20;
Free = free>>20;
all_Total += Total; //总
all_Free += Free; //剩余
}
// 获取下一个驱动器号起始地址
szSingleDrive += _tcslen(szSingleDrive) + 1;
}
}
return all_Total/1024;
}