Char CRDRV [3];
CstringArray strRay;
_Ularge_integer n64totalnumberofbytes,
N64 TOTALNUMBEROFFREEBYTES;
__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 { BSUCCESS = SHGETDISKFREESPACE (Strarray.Getat (n), NULL, & N64TOTALNUMBEROFBYTES, & n64 TotalNumberoffreebytes; N64 TOTALSPACE = 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 Capacity:% 4.2FGB, available space:% 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 ("Total Capacity:% 4.2FGB, total available space:% 4.2fgb.", ftotalspace, ftotalfree; AfxMessageBox (STRINFO);