【问题标题】:How to get list of USB in winform using c#?如何使用 c# 在 winform 中获取 USB 列表?
【发布时间】:2013-04-23 08:49:42
【问题描述】:

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

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

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

 E:/
 G:/

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

 E:/Insforia 

类似这样的, 我怎么能得到这个?有可能得到这个吗?请帮助

【问题讨论】:

    标签: c# winforms usb usb-drive


    【解决方案1】:

    为了获得 E:/ 的 DeviceName,试试这个。

    DriveInfo driveInfo = new DriveInfo("E"); 
    if(driveInfo.IsReady) 
    { 
        string deviceName = driveInfo.VolumeLabel; 
    } 
    

    【讨论】:

    • 检查驱动器是否准备好。我已经编辑了答案。
    【解决方案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   
         }
     }
    

    【讨论】:

    • @ArindamDas,你可以像if (drive.IsReady)一样添加一个检查驱动器是否准备好
    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多