【问题标题】:How can i get all USB drives (plugged in) [duplicate]我如何获得所有 USB 驱动器(插入)[重复]
【发布时间】:2010-07-27 11:51:49
【问题描述】:

可能重复:
Get List Of USB Devices

我正在制作一个 WPF 应用程序。

我正在寻找一种方法来在我的组合框中列出所有插入的 USB 设备(磁盘!)。

我可以使用 DriveInfo.GetDrives() 列出所有驱动器,但是有没有一种简单的方法可以将其过滤到 USB 设备?

感谢

【问题讨论】:

标签: c# wpf usb-drive


【解决方案1】:
 foreach (DriveInfo drive in DriveInfo.GetDrives())
 {
     if (drive.DriveType == DriveType.Removable)
     {
      ..
     }
 }

【讨论】:

  • 注意这一点,不要(偶尔,从不连接调试器)从 Windows 深处的某个地方收到一个可怕的消息框,要求您将磁盘插入驱动器。
  • 我还有其他问题。我的组合框绑定到我的视图模型上的属性(类型列表)。它工作正常,但如果我插入 USB 磁盘,我必须重新加载窗口才能重新填充组合框。插入/拔出 USB 设备后,我是否可以重新填充组合框?
  • 我还缩小了你给我的代码:return DriveInfo.GetDrives().Where(x => x.DriveType == DriveType.Removable).ToList();
  • 在 viewmodel 中使用 ObservableCollection 绑定到 Combobox。创建一个具有一定间隔的 DispatcherTimer 以检查驱动器,如果发现任何新驱动器将其添加到 observablecollection;这将显示在 UI 中。
  • 这不适用于某些外部硬盘驱动器。目前,检测它是否是通过 USB 连接的硬盘的唯一方法是使用一些丑陋的 WMI 东西。您可以在stackoverflow.com/questions/3331043/… 看到代码示例
【解决方案2】:

【讨论】:

  • thanx,我之前一直在研究这个解决方案,但它似乎太复杂了......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多