c++获取磁盘容量信息
std::string GetSystemStorageUsed()
{
long long all_Free = 0;
long long all_Total = 0;
long long used= 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;
}
}
used= (all_Total-all_Free) * 1024 * 1024;
return std::to_string(used);
c++获取内存数据
std::string GetSystemMemoryUsed()
{
if (memorySpace == 0)
GetSystemMemoryTotal();
MEMORYSTATUSEX statusex;
statusex.dwLength = sizeof(statusex);
if (GlobalMemoryStatusEx(&statusex))
{
long long bit = statusex.ullAvailPhys;
bit = memorySpace - bit;
return std::to_string(bit);
}
return "";
}
//总内存
std::string GetSystemMemoryTotal()
MEMORYSTATUSEX statusex;
statusex.dwLength = sizeof(statusex);
if (GlobalMemoryStatusEx(&statusex))
{
long long bit = statusex.ullTotalPhys;
memorySpace = bit;
return std::to_string(bit);
}
return "";
做个记录,防止遗忘。头文件参考之前的文章
版权声明:本文为mengxingchengshang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。