用C#的两种取得硬盘剩余空间方法

2010-08-28 10:50:44来源:西部e网作者:

[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;
    }
关键词:C#