MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Определить подключение usb-модема."
Answer 734397
Определить тип устройства можно с помощью WMI-запроса к классу
Win32_PnpEntity
. ЗнаяDeviceID
, можно получить свойстваPnpClass
(текстовое имя класса устройств),Service
(имя драйвера) иClassGuid
(идентификатор класса устройств), на основе которых можно судить о типе устройства. Например, для модемовPnpClass = Modem, ClassGuid = {4d36e96d-e325-11ce-bfc1-08002be10318}
Пример кода на c# для вывода названия, DeviceID и PnpClass для всех USB-устройств:
using System.Management; public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { textBox1.Text = ""; ManagementObjectCollection collection; using (var searcher = new ManagementObjectSearcher( "root\\CIMV2", @"Select Caption,DeviceID,PnpClass From Win32_PnpEntity WHERE DeviceID like '%USB%'")) collection = searcher.Get(); int i = 1; foreach (var device in collection) { textBox1.Text += "Device "+i.ToString()+": "+Environment.NewLine; foreach (var p in device.Properties) { textBox1.Text += p.Name + ": "; if (p.Value != null) { textBox1.Text += p.Value.ToString(); } else textBox1.Text += "null"; textBox1.Text += Environment.NewLine; } textBox1.Text += Environment.NewLine; i++; } } }
Выводит что-то такое:
Device 1:
Caption: Корневой USB-концентратор (USB 3.0)
DeviceID: USB\ROOT_HUB30\4&1ED8C4AE&0&0
PNPClass: USBDevice 2:
Caption: HUAWEI Mass Storage USB Device
DeviceID: USBSTOR\CDROM&VEN_HUAWEI&PROD_MASS_STORAGE&REV_2.31\7&11BA591D&0
PNPClass: CDROMDevice 3:
Caption: HUAWEI Mobile Connect - 3G Modem
DeviceID: USB\VID_12D1&PID_1001&MI_00\6&4572B64&5&0000
PNPClass: ModemDevice 4:
Caption: SAMSUNG Android USB Remote NDIS Network Device
DeviceID: USB\VID_04E8&PID_6881\1234567890ABCDEF
PNPClass: Net
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.