【问题标题】:c#.NET USB device persistent identifierc#.NET USB 设备持久标识符
【发布时间】:2013-08-02 13:35:56
【问题描述】:

我正在寻找一种在 C# 中为 USB 插槽(更具体地说,是 SD 卡读卡器)提供持久(在最终用户拔下集线器/重新启动计算机时)标识符的方法。驱动器号并不总是分配给同一个插槽,但我需要一种物理识别插槽 A 的方法;一旦我可以识别它,我就可以连接到驱动器号。

所以我的问题:

  1. 这可能吗?
  2. 如果是这样,我将如何获取这些标识符?

【问题讨论】:

    标签: c# .net usb persistence uniqueidentifier


    【解决方案1】:

    WMI 类 Win32_USBHub。

    ManagementObjectSearcher sidQuery = new ManagementObjectSearcher("Select * From Win32_USBHub");
    ManagementObjectCollection results = sidQuery.Get();
    List<String> deviceID = new List<String>();
    foreach (ManagementObject result in results)
    {
       deviceID.Add(result["DeviceID"]);
    }
    

    在此处查看更多信息:Get List of connected USB Devices

    关于 Win32_USBHub 的文档:http://msdn.microsoft.com/en-us/library/windows/desktop/aa394506(v=vs.85).aspx

    【讨论】:

    • 谢谢!还有一个问题,有没有办法查明 Windows 是否为 USB 设备分配了任何字母(例如,假设该设备是驱动器而不是键盘),如果是,它们是/它是什么?
    • 没关系,我找到了评论问题的解决方案。 link
    猜你喜欢
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2012-06-01
    • 1970-01-01
    相关资源
    最近更新 更多