函數原型:
BOOL GetDiskFreeSpace(
LPCTSTR lpRootPathName,
LPDWORD lpSectorsPerCluster,
LPDWORD lpBytesPerSector,
LPDWORD lpNumberOfFreeClusters,
LPDWORD lpTotalNumberOfClusters
);
參數說明:
1.lpRootPathName:指定測試驅動器的根目錄的名稱。為null時,則為當前目錄所在驅動器的根目錄名稱。
2.LpSectorsPerCluster:取得驅動器每簇的扇區數。
3.LpBytesPerSector:取得驅動器每扇區的字節數。
4.LpNumberOfFreeClusters:磁盤剩餘空間的簇數。
5.LpTotalNumberOfClusters:磁盤總空間的簇數。
應用舉例:
顯示磁盤空間的總容量,剩餘容量。
1) 在上例基礎上,添加兩個edit組件和兩個label組件,如
2) 在combobox組件的onchange 事件相應部分添加如下內容:
val
disktotal,diskfree,cl1,cl2,sec1,byt1:longword;
begin
Getdiskfreespace(pchar(combobox1.Items[combobox1.Itemindex]),sec1,byt1,cl1,cl2);//獲取磁盤信息
Diskfree:=cl1*sec1*byt1;//剩餘容量=剩餘簇數*每簇扇區數*每扇區字節數
disktotal:=cl2*sec1*byt1;//總容量=磁盤總簇數*每簇扇區數*每扇區字節數
edit2.text:=formatfloat(''###,##0'',total);
edit3.text:=formatfloat(''###,##0'',freesp);
end;