0

C#.NET で接続されている USB デバイスのリストが必要です。しかし、私は何をすべきか理解できません。

4

1 に答える 1

3

プロジェクトに System.Management への参照を追加し、その後コードを参照します

namespace ConsoleApplication1
{
using System;
using System.Collections.Generic;
using System.Management; // need to add System.Management to your project references.

class Program
{
    static void Main(string[] args)
    {
        var usbDevices = GetUSBDevices();

        foreach (var usbDevice in usbDevices)
        {
            Console.WriteLine("Device ID: {0}", usbDevice.DeviceID);

        }

        Console.Read();
    }

    static List<USBDeviceInfo> GetUSBDevices()
    {
        List<USBDeviceInfo> devices = new List<USBDeviceInfo>();

        ManagementObjectCollection collection;
        using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub"))
            collection = searcher.Get();

        foreach (var device in collection)
        {
            devices.Add(new USBDeviceInfo(
            (string)device.GetPropertyValue("DeviceID")
            ));
        }

        collection.Dispose();
        return devices;
    }
}

class USBDeviceInfo
{
    public USBDeviceInfo(string deviceID)
    {
        this.DeviceID = deviceID;
    }
    public string DeviceID { get; private set; }

}

}

お役に立てば幸いです。

于 2013-05-06T11:00:23.047 に答える