读取出本地电脑上的usb盘,除了前面说的一个方法外(http://blog.csdn.net/yysyangyangyangshan/article/details/7101961
还有一种方法,如下:

  public static List<string> GetUsbDisk()          {              List<string> usbDiskNameList = new List<string>();              try              {                    ManagementObjectCollection drives = new ManagementObjectSearcher("select * from Win32_DiskDrive where interfaceType = 'USB'").Get();                    foreach (ManagementObject drive in drives)                  {                      ManagementObjectCollection partitions = new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + drive["DeviceID"] + "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition").Get();                        foreach (ManagementObject partition in partitions)                      {                          ManagementObjectCollection volumeLetters = new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + partition["DeviceID"] + "'} WHERE AssocClass = Win32_LogicalDiskToPartition").Get();                            foreach (ManagementObject volumeLette in volumeLetters)                          {                              string usbDiskName = string.Format(@"{0}\", volumeLette["Name"].ToString());                                usbDiskNameList.Add(usbDiskName);                          }                      }                  }              }              catch              {              }              return usbDiskNameList;          }  

 调用

    static void Main(string[] args)          {               List<string> usbDiskNameList = GetUsbDisk();                int count = usbDiskNameList.Count;                Console.WriteLine("USB磁盘:");                for (int i = 0; i < count; i++)              {                  Console.WriteLine(usbDiskNameList[i]);              }                Console.ReadLine();          }

结果:
判断磁盘是否是USB连接的另一种方法_磁盘