public static void AddDeviceFromEvent(UsbEvent e) { var device = _devices.SingleOrDefault(n => n.Equals(e.device)); if (device != null) { device.last_event = e.event_type; } else { _devices.Add(e.device); SaveDevicesToFile(); } }
private void watcher_EventArrived(object sender, EventArrivedEventArgs e) { ManagementBaseObject instance = (ManagementBaseObject)e.NewEvent["TargetInstance"]; var evnt = new UsbEvent { event_name = e.NewEvent.ClassPath.ClassName, device = new UsbDevice { device_guid = (string)instance["ClassGuid"], device_name = (string)instance["Name"] } }; evnt.device.last_event = evnt.event_type; NewUsbEvent?.Invoke(evnt); }