Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh menyenaraikan semua peranti USB yang disambungkan di Windows menggunakan C#?
Senaraikan peranti USB yang disambungkan dalam Windows menggunakan C#
Soalan:
Bagaimana untuk mengenal pasti dan mendapatkan maklumat tentang semua peranti USB yang disambungkan ke sistem Windows?
Penyelesaian:
Dengan menyepadukan System.Management
ruang nama ke dalam projek anda, anda boleh mendapatkan semula senarai peranti USB menggunakan kod berikut:
<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>
Penyelesaian ini menggunakan ruang nama System.Management
untuk mengakses kelas ManagementObjectSearcher
, membolehkan anda menanyakan kelas Win32_USBHub
untuk mencari peranti USB. Kod ini berulang pada koleksi yang dikembalikan untuk mengekstrak maklumat yang berkaitan seperti ID peranti, ID peranti PNP dan penerangan, menyediakan senarai lengkap peranti USB yang disambungkan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menyenaraikan semua peranti USB yang disambungkan di Windows menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!