Get disk usage space and residual space (code)

xiaoxiao2021-03-06  40

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);

转载请注明原文地址:https://www.9cbs.com/read-75226.html

New Post(0)