要捕捉使用了哪个USB设备名称,可以使用VB.NET中的ManagementObjectSearcher类和Win32_USBControllerDevice类来获取USB设备的信息。以下是一个示例代码:
Imports System.Management
Public Class USBDeviceInfo
Public Property DeviceID As String
Public Property Name As String
End Class
Public Class USBManager
Public Shared Function GetConnectedUSBDevices() As List(Of USBDeviceInfo)
Dim devices As New List(Of USBDeviceInfo)()
Dim searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_USBControllerDevice")
For Each queryObj As ManagementObject In searcher.Get()
Dim deviceId As String = queryObj("Dependent").ToString()
Dim index As Integer = deviceId.IndexOf("DeviceID=") + 10
deviceId = deviceId.Substring(index).Replace("""", "").Replace("\\", "\")
Dim usbDevice As New USBDeviceInfo()
usbDevice.DeviceID = deviceId
Dim usbManagementObj As New ManagementObject("Win32_PnPEntity.DeviceID=""" & deviceId & """")
usbDevice.Name = usbManagementObj("Caption").ToString()
devices.Add(usbDevice)
Next
Return devices
End Function
End Class
使用示例:
Sub Main()
Dim connectedUSBDevices As List(Of USBDeviceInfo) = USBManager.GetConnectedUSBDevices()
For Each device As USBDeviceInfo In connectedUSBDevices
Console.WriteLine("Device ID: " & device.DeviceID)
Console.WriteLine("Device Name: " & device.Name)
Console.WriteLine()
Next
Console.ReadLine()
End Sub
这个示例代码将会获取当前连接的所有USB设备的设备ID和名称,并将其输出到控制台。