RT

解决方案 »

  1.   

    SysUtils 中已经定义了:
    function DiskFree(Drive: Byte): Int64;
    var
      TotalSpace: Int64;
    begin
      if not InternalGetDiskSpace(Drive, TotalSpace, Result) then
        Result := -1;
    end;function DiskSize(Drive: Byte): Int64;
    var
      FreeSpace: Int64;
    begin
      if not InternalGetDiskSpace(Drive, Result, FreeSpace) then
        Result := -1;
    end;
      

  2.   

    最终调用的API函数是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
       );
      

  3.   

    就是不需要在prvite 或者 public那里再声明一下,直接就可以调用的吗···