private void ButtonStartDiscover_Click(object sender, RoutedEventArgs e) { if (ListDevices.Items != null) { ListDevices.Items.Clear(); } CheckListDevices(); string selector = CustomDevice.GetDeviceSelector(new Guid("53f56308-b6bf-11d0-94f2-00a0c91efb8b")); IEnumerable <string> additionalProperties = new string[] { "System.Devices.DeviceInstanceId" }; if (cdReaderManager != null) { cdReaderManager.StopDiscovery(); cdReaderManager.CDReaderDeviceAdded -= CDReaderDevice_Added; cdReaderManager.CDReaderDeviceRemoved -= CDReaderDevice_Removed; cdReaderManager = null; } cdReaderManager = new CDReaderManager(); cdReaderManager.CDReaderDeviceAdded += CDReaderDevice_Added; cdReaderManager.CDReaderDeviceRemoved += CDReaderDevice_Removed; cdReaderManager.StartDiscovery(); ButtonStartDiscover.Visibility = Visibility.Collapsed; ButtonStopDiscover.Visibility = Visibility.Visible; ListDevices.IsEnabled = true; }
private void ButtonStopDiscover_Click(object sender, RoutedEventArgs e) { if (cdReaderManager != null) { cdReaderManager.StopDiscovery(); cdReaderManager.CDReaderDeviceAdded -= CDReaderDevice_Added; cdReaderManager.CDReaderDeviceRemoved -= CDReaderDevice_Removed; cdReaderManager = null; } ButtonStartDiscover.Visibility = Visibility.Visible; ButtonStopDiscover.Visibility = Visibility.Collapsed; }
private async void CDReaderDevice_Added(CDReaderManager sender, CDReaderDevice args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { if (ListDeviceInformation != null) { ListDeviceInformation.Add(args); } ListDevices.Items.Add(args.Id); CheckListDevices(); if (bAutoStart == true) { bAutoStart = false; ButtonReadCDMetadata_Click(null, null); } }); }
private async void CDReaderDevice_Removed(CDReaderManager sender, CDReaderDevice args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { if ((ListDeviceInformation != null) && (ListDeviceInformation.Count > 0)) { foreach (var d in ListDeviceInformation) { if (d.Id == args.Id) { ListDeviceInformation.Remove(d); break; } } } ListDevices.Items.Remove(args.Id); CheckListDevices(); }); }