private void DeviceInsertedEvent(object sender, EventArrivedEventArgs e) { string driveName = e.NewEvent.Properties["DriveName"].Value.ToString(); Console.Write(driveName + " inserted "); Dispatcher.BeginInvoke(new Action(() => { LoggerBox.Text += driveName + " inserted \n"; DevicesUsb_list.Add(new Device() { Name = driveName, IsChecked = true }); })); /*ManagementBaseObject instance = (ManagementBaseObject)e.NewEvent["TargetInstance"]; * foreach (var property in instance.Properties) * { * Console.WriteLine(property.Name + " = " + property.Value); * }*/ }
private void DeviceRemovedEvent(object sender, EventArrivedEventArgs e) { string driveName = e.NewEvent.Properties["DriveName"].Value.ToString(); Console.Write(driveName + " removed "); Dispatcher.BeginInvoke(new Action(() => { LoggerBox.Text += driveName + " removed \n"; try { DevicesUsb_list.Remove(DevicesUsb_list.Where(i => i.Name == driveName).Single()); } catch { LoggerBox.Text += "ERROR remove...\n"; } })); /*ManagementBaseObject instance = (ManagementBaseObject)e.NewEvent["TargetInstance"]; * foreach (var property in instance.Properties) * { * Console.WriteLine(property.Name + " = " + property.Value); * }*/ }