获取磁盘使用空间和剩余空间
136 views 十二月 28, 04 by Timothychar crDrv[3];
CStringArray strArray;
_ULARGE_INTEGER n64TotalNumberOfBytes,
n64TotalNumberOfFreeBytes;
__int64 n64TotalFree = 0,n64TotalSpace = 0;
float fTotalFree,fTotalSpace,fTempFree,fTempTotal;
ULONG lTotalFree = 0,lTotalSpace = 0,
lTempFree = 0,lTempTotal = 0;
CString strInfo;
BOOL bSuccess;
for(int n=2;n<=25;n++)
{
CString str;
str.Format(“%c:\\”,n+’A');
strcpy(crDrv,str);
UINT nDrvType = GetDriveType(crDrv);
switch(nDrvType)
{
case DRIVE_FIXED:
{
strArray.Add(crDrv);
break;
}
default:
{
break;
}
}
}
for(n = 0;n < strArray.GetSize();n ++)
{
bSuccess = SHGetDiskFreeSpace(strArray.GetAt(n),
NULL,&n64TotalNumberOfBytes,
&n64TotalNumberOfFreeBytes);
n64TotalSpace += n64TotalNumberOfBytes.QuadPart;
n64TotalFree += n64TotalNumberOfFreeBytes.QuadPart;
lTempTotal = (ULONG)(n64TotalNumberOfBytes.QuadPart/1024);
lTempFree = (ULONG)(n64TotalNumberOfFreeBytes.QuadPart/1024);
fTempTotal = (float)lTempTotal;
fTempTotal = fTempTotal/1024/1024;
fTempFree = (float)lTempFree;
fTempFree = fTempFree/1024/1024;
strInfo.Format(“%s 容量: %4.2fGB,可用空间: %4.2fGB.”,
strArray.GetAt(n),fTempTotal,fTempFree);
AfxMessageBox(strInfo);
}
lTotalSpace = (ULONG)(n64TotalSpace/1024);
lTotalFree = (ULONG)(n64TotalFree/1024);
fTotalSpace = (float)lTotalSpace;
fTotalSpace = fTotalSpace/1024/1024;
fTotalFree = (float)lTotalFree;
fTotalFree = fTotalFree/1024/1024;
strInfo.Format(“总容量: %4.2fGB,总共可用空间: %4.2fGB.”,
fTotalSpace,fTotalFree);
AfxMessageBox(strInfo);
声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设
本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权,除非注明,本站文章均为原创,转载请注明转自 Timothy's Space 并应以链接形式标明本文地址!
你可能也对下列文章感兴趣
- 没有相关文章!
你好,
请问你这个程序是用C语言写的吗?
谢谢!!
用C++怎么调用?