Как найти родительские/дочерние отношения на USB-устройствах с помощью объекта C# ManagementObject?C#

Место общения программистов C#
Ответить
Гость
 Как найти родительские/дочерние отношения на USB-устройствах с помощью объекта C# ManagementObject?

Сообщение Гость »


В диспетчере устройств Windows я вижу, что у составного USB-устройства есть дочерние элементы, например динамик/микрофон/COM-порт. Как найти эти отношения с помощью реализации ManagementObject в C# .NET?

Для получения списка я использую следующий код:

var searcher = new ManagementObjectSearcher(@"Select * From Win32_PnPEntity"); Коллекция ManagementObjectCollection = searcher.Get(); foreach (var mo в коллекции) { Устройство ManagementObject = (ManagementObject)mo; Консоль.WriteLine(); Консоль.WriteLine(); Консоль.WriteLine(); Console.WriteLine("--------------------------------------------- -------------------------------"); Console.WriteLine(device.Path); Console.WriteLine("--------------------------------------------- -------------------------------"); Console.WriteLine("Свойства:"); Console.WriteLine("--------------------------------------------- -------------------------------"); foreach (PropertyData o в device.Properties) { Консоль.WriteLine(); Console.Write(o.Name); Console.Write(" = "); if (o.IsArray && o.Value != null) { Консоль.WriteLine(); строка[] vals = (строка[])o.Value; foreach (строка ss в значениях vals) { Console.Write("\t->"); Console.Write(сс); Консоль.WriteLine(); } } еще { Console.Write(o.Value); } } Консоль.WriteLine(); Console.WriteLine("--------------------------------------------- -------------------------------"); Console.WriteLine("Свойства системы:"); Console.WriteLine("--------------------------------------------- -------------------------------"); foreach (PropertyData o в устройстве.SystemProperties) { Консоль.WriteLine(); Console.Write(o.Name); Console.Write(" = "); if (o.IsArray && o.Value != null) { Консоль.WriteLine(); строка[] vals = (строка[])o.Value; foreach (строка ss в значениях vals) { Console.Write("\t->"); Console.Write(сс); Консоль.WriteLine(); } } еще { Console.Write(o.Value); } } } Но я все равно не могу найти отношения родитель/потомок, как показано в диспетчере устройств

Я пробовал использовать свойства, но такого свойства как родительского нет.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»