using System; using System.Management; namespace USBTest { class Class1 { static void Main(string[] args) { ManagementObjectSearcher mos1 = new ManagementObjectSearcher("Select * From Win32_USBControllerDevice"); ManagementObjectCollection moc1 = mos1.Get(); foreach (ManagementObject mo1 in moc1) { string idstr = mo1["Dependent"].ToString(); idstr = idstr.Replace("\"", ""); string[] names = idstr.Split('='); ManagementObjectSearcher mos2 = new ManagementObjectSearcher("Select * From Win32_PnPEntity Where DeviceID = '" + names[1] + "'"); ManagementObjectCollection moc2 = mos2.Get(); foreach (ManagementObject mo2 in moc2) { Console.WriteLine("{0}: {1}", names[1], mo2["Description"].ToString()); } moc2 = null; } moc1 = null; } } }