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

取出来的单位是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;
    }

posted on 2006-06-13 13:47  萝卜青菜  阅读(380)  评论(0编辑  收藏  举报

导航