磁盘空间 请问怎么得到指定的磁盘空间大小。比如:c:\的空间大小。已用空间和未用空间。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char 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); 菜鸟求救:错误“有非法的大小为零的数组”该怎么解决 如何求不规则图形的中心 拉灯大王没了,悲剧。 关于插入BMP到CRichEditCtrl有的机器上工作有的机器上不能工作 插入换行符的疑问 怎样隐藏盘符的问题(急) 把表的全部内容(很多个字段)放到一个数组里怎么做(是否用vector?怎么做) 关于内核与用户模式间的内存共享……(高手请进) 想问问同步类和同步访问类是什么关系? ~~~~~~~~~~高分求解~~~~~~~~~~~ 托盘程序显示窗口时有问题,请帮忙! 有没有办法在不创建窗体的情况下接收到windows注销的消息???
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);