Ich entwickle eine Anwendung, die ich abrufen muss VID und PID aller an den Computer angeschlossenen aktuellen USB-Geräte.
Ich erhalte jedoch nur die VID- und PID-Nummer meines Kopfhörers, der an meinen Computer angeschlossen ist. und nicht für Maus und Tastatur bekommen.
Mein Code funktioniert so: -
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;
}
Hauptklasse
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();
}
Nun im Falle von Kopfhörer Ich erhalte die Beschreibung als USB-Verbundgerät Im Falle anderer an den Computer angeschlossener Geräte erhalte ich die Beschreibung als Usb Verteiler
Ich weiß nicht, warum ich nur VID und PID von nur Kopfhörer bekomme
Bitte vorschlagen
Danke im Voraus.!!
Antworten:
EIN Nabe ist ein Gerät, mit dem andere Geräte verbunden sind. Root-Hubs repräsentieren die USB-Controller auf Ihrem Motherboard.
EIN Composite-Gerät ist ein Gerät mit mehreren Schnittstellen; Ihr Kopfhörer verfügt über zwei Schnittstellen, für die Steuerung des Mischpults und für die Audioaufnahme.
Normale USB-Geräte werden nicht als aufgeführt
Win32_USBHub
Sie haben auch in dieDependent
Einträge. Sehen Abrufen der USB-Geräteinformationen über WMI zum Beispiel.quelle
Ich werde den Codierungsteil dieser Frage nicht behandeln - sein OT für SU. Ich kann sowieso nicht codieren
Das eigentliche Problem ist, dass Sie möglicherweise am falschen Ort suchen
Schauen Sie sich zunächst den Geräte-Manager an.
Hier ist meins. Ich habe die weniger interessanten Stellen abgedunkelt und auf das Nützliche hingewiesen
Meine Gaming-Maus ist ein USB-Verbundgerät - sie besteht aus zwei virtuellen Geräten (in diesem Fall handelt es sich vermutlich um ein USB-Headset. Andernfalls würde es überhaupt nicht angezeigt werden). Daher erscheint es an 3 Stellen - unter VERSTECKT, unter Tastaturen und unter Mäuse und andere Zeigegeräte und als USB-Controller.
Meine Tastatur wird NUR unter HID und Tastaturen angezeigt, da es sich um eine langweilige, nicht sexy Logitech-Ausrüstung handelt. Es sollte NICHT unter USB-Controllern auftauchen.
Zusamenfassend? Möglicherweise überprüfen Sie Ihren Code erneut und erfahren, wie Windows die Hardware klassifiziert.
quelle