首页 > 编程 > Delphi > 正文

检测驱动器容量

2019-09-08 23:09:05
字体:
来源:转载
供稿:网友
                                                                                                                                                       
                       可以利用Windows API 函数GetDiskFreeSpace完成。

   函数原型:

   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;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选