GetDiskFreeSpaceEx()的用法(20分)

  • 主题发起人 主题发起人 ym_kule
  • 开始时间 开始时间
procedure TForm1.Button1Click(Sender: TObject);<br>var I:Integer;<br> &nbsp; &nbsp;TotalDiskFree:Integer;<br> &nbsp; &nbsp;FreeByte,TotalByte: Int64;<br>begin<br> &nbsp;TotalDiskFree:=0;<br> &nbsp;for I:=Ord('C') To Ord('Z') do<br> &nbsp;begin<br> &nbsp; &nbsp;if GetDrivetype(PChar(Chr(I)+':/'))=DRIVE_FIXED then<br> &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp;GetDiskFreeSpaceEx(PChar(Chr(I)+':/'),FreeByte, TotalByte,nil);<br> &nbsp; &nbsp; &nbsp;TotalDiskFree:=TotalDiskFree+(FreeByte Div (1024*1024));<br> &nbsp; &nbsp;end;<br> &nbsp;end;<br> &nbsp;ShowMessage(IntToStr(TotalDiskFree));<br>end;
 
VB<br>GetDiskFreeSpaceEx Lib &quot;kernel32&quot; Alias &quot;GetDiskFreeSpaceExA&quot; (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long <br>Delphi<br>GetDiskFreeSpaceEx: function (Directory: PChar; var FreeAvailable,<br> &nbsp; &nbsp;TotalSpace: TLargeInteger; TotalFree: PLargeInteger): Bool stdcall = nil;<br>说明 <br>获取与一个磁盘的组织以及剩余空间容量有关的信息 <br>返回值 <br>Long,非零表示成功,零表示失败。会设置GetLastError <br>参数表 <br>参数 类型及说明 <br>lpRootPathName String,不包括卷名的磁盘根路径名 <br>lpFreeBytesAvailableToCaller LARGE_INTEGER,指定一个变量,用于容纳调用者可用的字节数量 <br>lpTotalNumberOfBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上的总字节数 <br>lpTotalNumberOfFreeBytes LARGE_INTEGER,指定一个变量,用于容纳磁盘上可用的字节数 <br>适用平台 <br>Windows 95 OSR2,Windows NT 4.0 <br>注解 <br>LARGE_INTEGER结构与FILETIME结构在内部完全一致。正式调用前,用GetVersionEx判断函数是否得到了支持。在Windows 95 OSR2环境中,OSVERSIONINFO结构的dwBuildNumbe字段会大于1000
 
多人接受答案了。
 
后退
顶部