Ho bisogno di sapere che tipo di dispositivi USB attualmente utilizzati nel sistema. C'è un USB specification sui codici classe dei dispositivi USB. Ma non posso ottenere il tipo di dispositivo, la richiesta WMI WQL: select * from Win32_UsbHub
fornisce valori nulli su codice classe, codice sottoclasse, campi tipo protocollo. Qualche idea su come rilevare il tipo di dispositivo USB attualmente in uso?C# rileva dispositivo USB ClassCode (tipo di dispositivo USB)
mio codice corrente:
ManagementObjectCollection collection;
using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_USBHub"))
{
collection = searcher.Get();
foreach (var device in collection)
{
var deviceId = (string)GetPropertyValue("DeviceID");
var pnpDeviceId = (string)GetPropertyValue("PNPDeviceID");
var descr = (string)device.GetPropertyValue("Description");
var classCode = device.GetPropertyValue("ClassCode"); //null here
}
}
puoi pubblicare l'esempio completo, compreso 'ManagementScope',' 'ObjectQuery' e ManagementObjectSearcher' l'uso? – SwDevMan81
Raccolta ManagementObjectCollection; utilizzando (var searcher = new ManagementObjectSearcher (@ "Select * From Win32_USBHub")) collection = searcher.Get(); – MelnikovI
Lo strumento wbemtest.exe ha lo stesso effetto: i campi 'Classe codice, sottoclasse, tipo protocollo' sono nulli – MelnikovI