private void refreshDeviceList() { cboDevices.SelectedIndexChanged -= cboDevices_SelectedIndexChanged; mDevList = this.context.List(); tsNumDevices.Text = mDevList.Count.ToString(); cboDevices.Sorted = false; cboDevices.Items.Clear(); foreach (var device in mDevList) { string sAdd = string.Format("Vid:0x{0:X4} Pid:0x{1:X4} (rev:{2}) - {3}", device.Info.VendorId, device.Info.ProductId, (ushort)device.Info.Usb, null); cboDevices.Items.Add(sAdd); } cboDevices.SelectedIndexChanged += cboDevices_SelectedIndexChanged; if (mDevList.Count == 0) { tsNumDevices.ForeColor = Color.Red; tvInfo.Nodes.Clear(); tvInfo.Nodes.Add("No USB devices found."); tvInfo.Nodes.Add("A device must be installed which uses the LibUsb-Win32 driver."); tvInfo.Nodes.Add("Or"); tvInfo.Nodes.Add("The LibUsb-Win32 kernel service must be enabled."); } else { tsNumDevices.ForeColor = Color.FromKnownColor(KnownColor.ControlText); } }
private static void ListDevices(UsbDeviceCollection devices) { Console.WriteLine("Registered USB devices:"); for (var num = 0; num < devices.Count; num++) { var device = devices[num]; Console.WriteLine($"{num}: {device}"); Console.Write(GetDescriptorReport(device).ToString()); } }