MFC 获取除C盘外,其余磁盘的总空间,及空闲空间
2016-12-22 16:42
459 查看
BOOL MyLocalMacIP::GetSpaceInfo(CString &totalspace, CString &usedspace) { long long total = 0; long long used = 0; ::vector<CString> drivernames; int drivernum = 0; CString str; DWORD size = ::GetLogicalDriveStringsA(0, NULL); if (0 != size) { HANDLE heap = ::GetProcessHeap(); LPSTR lp = (LPSTR)HeapAlloc(heap, HEAP_ZERO_MEMORY, size*sizeof(TCHAR)); ::GetLogicalDriveStringsA(size*sizeof(TCHAR), lp); while(0 != *lp ) { /* we don't need C:*/ int str_num = strcmp((char*)lp, ("C:\\")); if (str_num == 0) { lp = strchr(lp, 0)+1; continue; } wchar_t* lp_buffer = conversion.CharToWchar(lp); UINT res = ::GetDriveTypeW(lp_buffer); if(DRIVE_FIXED == res) { CString str = lp; drivernames.push_back(str); drivernum++; } delete []lp_buffer; lp = strchr(lp, 0)+1; } } ULARGE_INTEGER FreeSpace, CallSpace, TotalSpace; for (int i = 0; i < drivernum; i++) { ::GetDiskFreeSpaceEx(drivernames[i], &FreeSpace, &CallSpace, &TotalSpace); total += CallSpace.QuadPart; used += FreeSpace.QuadPart; } string stotal = conversion.IntToString(total); string sused = conversion.IntToString(used); totalspace = CString(stotal.c_str()); usedspace = CString(sused.c_str()); return TRUE; }
相关文章推荐
- Python获取磁盘空闲空间并写入日志
- 获取磁盘剩余空间函数
- 在Windows下通过JConfig获取磁盘剩余空间信息
- C# 如何获取磁盘剩余空间
- 文件磁盘相关函数[15]-获取磁盘空间信息 WinAPI:GetDiskFreeSpaceEx;
- 关于c盘磁盘空间不足事件
- 如何用 SQL 语句获取某个 ACCESS 表占用的磁盘空间大小?
- PowerShell脚本获取磁盘空间两例
- 获取磁盘空间大小
- 获取磁盘使用空间和剩余空间
- 获取 iPhone 剩余磁盘空间的代码
- 获取磁盘空间信息(十四)
- 清理C盘空间,让你的C盘多出几个G的空闲空间来
- linux 获取磁盘总空间的简单方法
- 获取磁盘剩余空间 Django项目几个主要文件功能的解释
- 使用API函数获取磁盘空间及磁盘类型
- MFC--获取磁盘信息
- 安装大型SDK文件,C盘的磁盘空间不足的解决方法
- iPhone获取磁盘空间正规方法
- C#如何获取远程磁盘上的剩余空间