Exemplo n.º 1
0
    private void DestroyEnvironment()
    {
        DeviceMonitor.Stop();

        notificationService.Stop();

        DataModel.Save();

        ApplicationSettings.Save();

#if !LINUX
        trayIcon.Visible = false;
#endif

        if (HidSharp.PlatformDetector.RunningPlatform() == HidSharp.PlatformDetector.Platform.Windows)
        {
            instanceExistsEvent.Cancel();
        }

        if (ApplicationSettings.ExitTurnOffAllBlinkSticks)
        {
            this.DataModel.Devices.ForEach(delegate(BlinkStickDeviceSettings device) {
                if (device.Led != null && device.Led.Connected)
                {
                    device.TurnOff();
                    Thread.Sleep(50);
                    device.Led.CloseDevice();
                }
            });
        }
    }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Monitor BlinkSticks inserted and removed");

            UsbMonitor monitor = new UsbMonitor();

            //Attach to connected event
            monitor.BlinkStickConnected += (object sender, DeviceModifiedArgs e) => {
                Console.WriteLine("BlinkStick " + e.Device.Serial + " connected!");
            };

            //Attach to disconnected event
            monitor.BlinkStickDisconnected += (object sender, DeviceModifiedArgs e) => {
                Console.WriteLine("BlinkStick " + e.Device.Serial + " disconnected...");
            };

            List <BlinkStick> devices = new List <BlinkStick> (BlinkStick.FindAll());

            //List BlinkSticks already connected
            foreach (BlinkStick device in devices)
            {
                Console.WriteLine("BlinkStick " + device.Serial + " already connected");
            }

            //Start monitoring
            monitor.Start();

            Console.WriteLine("Monitoring for BlinkStick devices... Press any key to exit.");

            //Start application event loop. Alternatively you can run main form:
            //   Application.Run ([Your form]);
            while (true)
            {
                //Process messages
                Application.DoEvents();

                //Exit if key is pressed
                if (Console.KeyAvailable)
                {
                    break;
                }
            }

            //Stop monitoring
            monitor.Stop();
        }