在 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中文網其他相關文章!