在 Windows 中使用 C# 列出连接的 USB 设备
问题:
如何识别并获取连接到 Windows 系统的所有 USB 设备的信息?
解决方案:
通过将 System.Management
命名空间集成到您的项目中,您可以使用以下代码检索 USB 设备列表:
<code class="language-csharp">using System; using System.Collections.Generic; using System.Management; // 将 System.Management 添加到您的项目引用中。 public class Program { public static void Main(string[] args) { var usbDevices = GetUSBDevices(); foreach (var usbDevice in usbDevices) { Console.WriteLine( $"设备 ID:{usbDevice.DeviceID},PNP 设备 ID:{usbDevice.PnpDeviceID},描述:{usbDevice.Description}"); } Console.ReadKey(); } public static List<USBDeviceInfo> GetUSBDevices() { var devices = new List<USBDeviceInfo>(); using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub")) using (var collection = searcher.Get()) { foreach (var device in collection) { devices.Add(new USBDeviceInfo( (string)device.GetPropertyValue("DeviceID"), (string)device.GetPropertyValue("PNPDeviceID"), (string)device.GetPropertyValue("Description") )); } } return devices; } } public class USBDeviceInfo { public USBDeviceInfo(string deviceID, string pnpDeviceID, string description) { DeviceID = deviceID; PnpDeviceID = pnpDeviceID; Description = description; } public string DeviceID { get; private set; } public string PnpDeviceID { get; private set; } public string Description { get; private set; } }</code>
此解决方案使用 System.Management
命名空间访问 ManagementObjectSearcher
类,允许您查询 Win32_USBHub
类以查找 USB 设备。代码迭代返回的集合以提取相关信息,例如设备 ID、PNP 设备 ID 和描述,从而提供连接的 USB 设备的完整列表。
以上是如何使用 C# 列出 Windows 中所有已连接的 USB 设备?的详细内容。更多信息请关注PHP中文网其他相关文章!