两种取得硬盘剩余空间方法

取出来的单位是B:)

    [DllImport( " kernel32.dll " )]
    
private   static   extern   bool  GetDiskFreeSpaceEx(
        
string  lpDirectoryName,  out   ulong  lpFreeBytesAvailable,  out   ulong  lpTotalNumberOfBytes,  out   ulong  lpTotalNumberOfFreeBytes);

    
///   <summary>
    
///  取得磁盘剩余空间
    
///   </summary>
    
///   <param name="driveDirectoryName"> 驱动器名 </param>
    
///   <returns> 剩余空间 </returns>
     private   static   ulong  GetFreeSpace( string  driveDirectoryName)
    {
        
ulong  freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes;
        
if  ( ! driveDirectoryName.EndsWith( " :\\ " ))
        {
            driveDirectoryName 
+=   " :\\ " ;
        }
        GetDiskFreeSpaceEx(driveDirectoryName, 
out  freeBytesAvailable,  out  totalNumberOfBytes,  out  totalNumberOfFreeBytes);
        
return  freeBytesAvailable;
    }

     ///   <summary>
    
///  取得磁盘剩余空间
    
///   </summary>
    
///   <param name="driveDirectoryName"> 驱动器名 </param>
    
///   <returns> 剩余空间 </returns>
     private   static   ulong  GetFreeSpace( string  driveDirectoryName)
    {
        
ulong  freefreeBytesAvailable  =   0 ;

        DriveInfo drive 
=   new  DriveInfo(driveDirectoryName);

        freefreeBytesAvailable 
=  ( ulong )drive.AvailableFreeSpace;

        
return  freefreeBytesAvailable;
    }

你可能感兴趣的:(方法)