Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh menyenaraikan semua peranti USB yang disambungkan di Windows menggunakan C#?

Bagaimanakah saya boleh menyenaraikan semua peranti USB yang disambungkan di Windows menggunakan C#?

Barbara Streisand
Lepaskan: 2025-01-25 00:57:09
asal
166 orang telah melayarinya

How Can I List All Connected USB Devices in Windows Using 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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan