public static List <DeviceInfo> EnumDevices(EnumDeviceFilter filter) { List <DeviceInfo> devices = new List <DeviceInfo>(); try { ManagementObjectCollection collection = null; string selectString = @"SELECT * From Win32_PnPEntity WHERE (PNPDeviceID LIKE '%USB%VID%&PID%')"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectString)) collection = searcher.Get(); if (collection != null) { foreach (ManagementObject md in collection) { try { DeviceInfo ud = new DeviceInfo(md); if (filter != null) { if (!filter(ud)) { continue; } } devices.Add(ud); } catch {} } collection.Dispose(); } } catch {} return(devices); }
public static List<DeviceInfo> EnumDevices(EnumDeviceFilter filter) { List<DeviceInfo> devices = new List<DeviceInfo>(); try { ManagementObjectCollection collection = null; string selectString = @"SELECT * From Win32_PnPEntity WHERE (PNPDeviceID LIKE '%USB%VID%&PID%')"; using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectString)) collection = searcher.Get(); if (collection != null) { foreach (ManagementObject md in collection) { try { DeviceInfo ud = new DeviceInfo(md); if (filter != null) if (!filter(ud)) continue; devices.Add(ud); } catch {} } collection.Dispose(); } } catch {} return devices; }