void FindDevice() { try { Guid guid; guid = new Guid(txtGuid.Text); Settings.Default.Guid = guid; if (m_WinUsb != null) { m_WinUsb.Dispose(); } m_WinUsb = new WinUsbManager(guid); } catch { LogMsg(MsgInvalidGuid, MsgType.MSG_Err); return; } if (m_WinUsb.UsbDevices.Count != 0) { DeviceAttached(); } else { LogMsg(MsgNotFound, MsgType.MSG_Info); } m_WinUsb.DeviceChange += OnDeviceChange; }
// Create a new WinUsbManager, disposing of any previous instance. // Called whenever the GUID changes. void CreateWinUsbManager(Guid guid) { if (m_WinUsb != null) { m_WinUsb.Dispose(); } m_WinUsb = new WinUsbManager(guid); // Subscribe to the DeviceChange event m_WinUsb.DeviceChange += new EventHandler <DeviceChangeEventArgs>(DeviceChange); // If any devices are already attached, put them in the list foreach (UsbDevice dev in m_WinUsb.UsbDevices) { GetDeviceName(dev); } }