取得磁盘总空间和剩余空间
要取得磁盘总空间和剩余空间,最简单直接的方法是调用API函数 GetDiskFreeSpace。
GetDiskFreeSpace函数有5个参数,第一个参数是要判断可用空间的驱动器名,第二个参数是一个存放每簇扇区数的变量,第三个参数是一个存放每扇区字节数的变量,第四个参数是存放剩余簇数的变量,第五个参数是存放总簇数的变量。套用相应计算磁盘空间的公式即可得出指定驱动器的总空间或剩余空间。
磁盘总空间和剩余空间的计算公式分别为:
磁盘上剩余空间(字节) = 簇的扇区数 * 扇区的字节数 * 剩余簇数
磁盘上总空间(字节) = 簇的扇区数 * 扇区的字节数 * 总簇数
下面就是取得C盘的总空间和剩余空间的例子:
unsigned long Sectors,Bytes,Free,Total;
GetDiskFreeSpace("C:\",&Sectors,&Bytes,&Free,&Total);
//可用空间(单位:MB)
int FreeKB = Bytes * Sectors * Free / 1024;
//总空间(单位:MB)
int TotalKB = Bytes * Sectors * Total / 1024;
ShowMessage("C盘的可用空间有:" + IntToStr(FreeKB) + "MB,总空间有:" + IntToStr(TotalKB) +"MB");