获取连接的USB设备列表

如何获得Windows计算机上所有已连接USB设备的列表?

回答:

为您的项目添加对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}, PNP Device ID: {1}, Description: {2}",

usbDevice.DeviceID, usbDevice.PnpDeviceID, usbDevice.Description);

}

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"),

(string)device.GetPropertyValue("PNPDeviceID"),

(string)device.GetPropertyValue("Description")

));

}

collection.Dispose();

return devices;

}

}

class USBDeviceInfo

{

public USBDeviceInfo(string deviceID, string pnpDeviceID, string description)

{

this.DeviceID = deviceID;

this.PnpDeviceID = pnpDeviceID;

this.Description = description;

}

public string DeviceID { get; private set; }

public string PnpDeviceID { get; private set; }

public string Description { get; private set; }

}

}

以上是 获取连接的USB设备列表 的全部内容, 来源链接: utcz.com/qa/424609.html

回到顶部