Список USB-устройств в C#

Эта программа использует WMI (инструментарий управления Windows) для запроса на устройства USB. Чтобы использовать WMI, добавьте ссылки на System.Management и добавьте директиву using System.Management.
При запуске в этом примере используется следующий код для отображения USB-устройств.
// Добавить ссылку на System.Management.
using System.Management;
...
private void Form1_Load(object sender, EventArgs e)
{
ManagementObjectSearcher device_searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_USBHub");
foreach (ManagementObject usb_device in device_searcher.Get())
{
ListViewItem new_item = lvwDevices.Items.Add(
usb_device.Properties["DeviceID"].Value.ToString());
new_item.SubItems.Add(
usb_device.Properties["PNPDeviceID"].Value.ToString());
new_item.SubItems.Add(
usb_device.Properties["Description"].Value.ToString());
}
}
Этот код создает ManagementObjectSearcher для выполнения запроса WMI SELECT * FROM Win32_USBHub. Затем он просматривает результаты, отображающие идентификатор подключаемого модуля и описание каждого устройства USB.
Для получения дополнительной информации о классе Win32_PnPEntity см.
Источник: http://csharphelper.com/blog/2017/08/list-usb-devices-in-c/
