C#实现获取磁盘空间大小的方法

2019-12-26 11:25:06王旭
易采站长站为您分析C#实现获取磁盘空间大小的方法,分别基于System.IO.DriveInfo.GetDrives方法与ManagementClass("Win32_LogicalDisk")来实现这一功能,是非常实用的技巧,需要的朋友可以参考下    

本文实例讲述了C#实现获取磁盘空间大小的方法。。具体实现方法如下:

方法一:利用System.IO.DriveInfo.GetDrives方法来获取

 

复制代码 ///   
/// 获取指定驱动器的空间总大小(单位为B) 
///   
///  只需输入代表驱动器的字母即可 (大写) 
///    
public static long GetHardDiskSpace(string str_HardDiskName) 

    long totalSize= new long(); 
    str_HardDiskName=str_HardDiskName +":"; 
    System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); 
    foreach (System.IO.DriveInfo drive in drives) 
    { 
 if (drive.Name == str_HardDiskName) 
 {
     totalSize = drive.TotalSize / (1024 * 1024 * 1024); 
 } 
    } 
    return totalSize; 
}

 

///   
/// 获取指定驱动器的剩余空间总大小(单位为B) 
///   
///  只需输入代表驱动器的字母即可  
///    
public static long GetHardDiskFreeSpace(string str_HardDiskName) 

    long freeSpace = new long(); 
    str_HardDiskName = str_HardDiskName + ":"; 
    System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); 
    foreach (System.IO.DriveInfo drive in drives) 
    { 
 if (drive.Name == str_HardDiskName) 
 {
     freeSpace = drive.TotalFreeSpace / (1024 * 1024 * 1024); 
 } 
    } 
    return freeSpace; 
}


方法二:利用ManagementClass("Win32_LogicalDisk")来获取
复制代码 List<Dictionary<string, string>> diskInfoDic = new List<Dictionary<string, string>>();
ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks = diskClass.GetInstances();