如何检测是否有任何特定的驱动器是硬盘驱动器?

Stu*_*ule 12 c# hardware hard-drive

在C#中,您如何检测特定驱动器是硬盘驱动器,网络驱动器,CDRom还是软盘?

Ray*_*yes 18

方法GetDrives()返回一个DriveInfo类,该类具有与System.IO.DriveType的枚举对应的属性DriveType:

public enum DriveType
{
    Unknown,         // The type of drive is unknown.  
    NoRootDirectory, // The drive does not have a root directory.  
    Removable,       // The drive is a removable storage device, 
                     //    such as a floppy disk drive or a USB flash drive.  
    Fixed,           // The drive is a fixed disk.  
    Network,         // The drive is a network drive.  
    CDRom,           // The drive is an optical disc device, such as a CD 
                     // or DVD-ROM.  
    Ram              // The drive is a RAM disk.   
}
Run Code Online (Sandbox Code Playgroud)

以下是来自MSDN的略微调整的示例,其中显示了所有驱动器的信息:

    DriveInfo[] allDrives = DriveInfo.GetDrives();
    foreach (DriveInfo d in allDrives)
    {
        Console.WriteLine("Drive {0}, Type {1}", d.Name, d.DriveType);
    }
Run Code Online (Sandbox Code Playgroud)