请问:如何得到磁盘空间的大小? ( 积分: 50 )

  • 主题发起人 主题发起人 小飞点
  • 开始时间 开始时间

小飞点

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:如何得到磁盘(剩余)空间的大小? 磁盘的总容量为250G/300G
谢谢.
 
最直接的方法是调用API函数 GetDiskFreeSpace
 
getdiskfreespace函数返回值在磁盘空间超过2G时不正确,请使用GETDISKFREESPACEEX函数,这个函数在传入的参数返回磁盘值.
BOOL GetDiskFreeSpaceEx(

LPCTSTR lpDirectoryName, // pointer to directory name on disk of interest
PULARGE_INTEGER lpFreeBytesAvailableToCaller, // pointer to variable to receive free bytes on disk available to the caller
PULARGE_INTEGER lpTotalNumberOfBytes, // pointer to variable to receive number of bytes on disk
PULARGE_INTEGER lpTotalNumberOfFreeBytes // pointer to variable to receive free bytes on disk
);
这里注意为了取得超过2G值,用了ULARGE_INTEGER数,在DELPHI中为INT64。
GETDISKFREEEX函数在DELPHI5的WINDOWS单元中已经声明,可直接调用。
 
DiskFree 函数 返回剩余磁盘空间的大小

DiskSize 函数 返回指定磁盘的容量
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
后退
顶部