Пример #1
0
        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);
             * }*/
        }
Пример #2
0
        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);
             * }*/
        }