Skip to content

Commit

Permalink
refresh list of devices
Browse files Browse the repository at this point in the history
  • Loading branch information
tewarid committed Nov 7, 2019
1 parent 46d42fd commit 3605789
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 2 deletions.
29 changes: 28 additions & 1 deletion HidTool/MainForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 44 additions & 1 deletion HidTool/MainForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,59 @@ namespace HidTool
{
public partial class MainForm : Form
{
List<HidDevice> hidDevices = new List<HidDevice>();
HidStream stream;

public MainForm()
{
InitializeComponent();
}

private void MainForm_Load(object sender, EventArgs e)
{
DeviceList.Local.Changed += DeviceListChanged;
RefreshDevices();
}

private void DeviceListChanged(object sender, DeviceListChangedEventArgs e)
{
RefreshDevices();
}

private void RefreshDevices()
{
if (InvokeRequired)
{
BeginInvoke(new MethodInvoker(() =>
{
RefreshDevices();
}));
return;
}
hidDevicesCombo.Items.Clear();
hidDevices.Clear();
foreach (HidDevice device in DeviceList.Local.GetHidDevices())
{
hidDevicesCombo.Items.Add(device.GetFriendlyName());
hidDevicesCombo.Items.Add($"{device.GetFriendlyName()} [{device.GetSerialNumber()}] [VID 0x{device.VendorID:X}] [PID 0x{device.ProductID:X}]");
hidDevices.Add(device);
}
}

private void Refresh_Click(object sender, EventArgs e)
{
RefreshDevices();
}

private void Open_Click(object sender, EventArgs e)
{
if (hidDevicesCombo.SelectedIndex == -1)
{
MessageBox.Show(this, "Please select a HID device in the list.");
return;
}
if (!hidDevices[hidDevicesCombo.SelectedIndex].TryOpen(out stream))
{
MessageBox.Show(this, "Could not open HID stream. Device may be in use.");
}
}
}
Expand Down

0 comments on commit 3605789

Please sign in to comment.