0

我已尝试使用此代码将 USB 设备连接到计算机。这是代码:

 foreach (DriveInfo drive in DriveInfo.GetDrives())
 {
     if (drive.DriveType == DriveType.Removable)
     {
        cmbUSB.Items.Add(drive.Name);
     }
 }

cmbusb 是一个组合框..我在这里得到这个:

 E:/
 G:/

但没有获得设备名称,例如:

 E:/Insforia 

像这样的东西,我怎么能得到这个?有可能得到这个吗?请帮忙

4

2 回答 2

3

要获取 E:/ 的 DeviceName,请尝试此操作。

DriveInfo driveInfo = new DriveInfo("E"); 
if(driveInfo.IsReady) 
{ 
    string deviceName = driveInfo.VolumeLabel; 
} 
于 2013-04-23T08:53:39.077 回答
2

我相信您正在寻找VolumeLabel,请尝试:

标签长度由操作系统决定。例如,NTFS 允许卷标最长为 32 个字符。请注意,null 是有效的 VolumeLabel。

foreach (DriveInfo drive in DriveInfo.GetDrives())
 {
     if (drive.DriveType == DriveType.Removable)
     {
        if (drive.IsReady)
                 cmbUSB.Items.Add(drive.Name + "-" + drive.VolumeLabel);
                                                     //^^^^^^^^^^^^^^^^
                                                     //here   
     }
 }
于 2013-04-23T08:53:19.453 回答