晚上好,我有一个小小的挑战,我正试图绕过 . 我有一个用户环境,所有设备都是使用相同的系统映像和相同的硬件“构建”的 . 这是一个小销售点环境 . 计算机上的软件要求设备连接到特定USB,否则设备将无法与软件一起使用 . 这提出了许多问题,因为电缆没有物理标签 .

我正在尝试创建一个小型Visual Basic应用程序,它能够检查连接到系统上每个USB端口的设备 . 这个程序对我来说似乎很简单,但我几天来一直遇到代码有困难 . 是否可以使用以下代码返回USB端口ID . 我能够检索然后DeviceID,但我现在需要将其与USB ID进行比较以确认它在正确的端口,如何检索USB端口ID /名称?

Dim sc As New ManagementScope("\\DESKTOP-BA9EEM9\root\cimv2")

    Dim query As New ObjectQuery("Select * from Win32_USBHub")

    Dim searcher As New ManagementObjectSearcher(sc, query)
    Dim result As ManagementObjectCollection = searcher.Get()

    For Each obj As ManagementObject In result
        If obj("Description") IsNot Nothing Then
            ListBox1.Items.Add("Description:" & vbTab + obj("Description").ToString())
        End If
        If obj("DeviceID") IsNot Nothing Then
            ListBox1.Items.Add("DeviceID:" & vbTab + obj("DeviceID").ToString())
        End If
        If obj("PNPDeviceID") IsNot Nothing Then
            ListBox1.Items.Add("PNPDeviceID:" & vbTab + obj("PNPDeviceID").ToString())
        End If
        ListBox1.Items.Add("----------------------------------------")