예제 #1
0
        private void RandomizerStatusChanged(object sender, RoutedEventArgs e)
        {
            if (isLoadingSettings)
            {
                return;
            }

            if (!randomizer.run && (bool)checkBoxEnableRandomizer.IsChecked)
            {
                randomizer.Start();
            }
            else
            {
                randomizer.Stop();
            }
        }
예제 #2
0
        //
        // Stop the driver service
        //
        public void Stop()
        {
            if (!IsRunning)
            {
                return;
            }
            timerWatchdog.Stop();
            IsRunning = false;

            randomizer.Stop();

            // Stop named pipe clients
            pipeInput.Stop();
            pipeOutput.Stop();
            pipeState.Stop();


            // Kill service process
            Console.WriteLine("Killing TabletDriverService");
            try
            {
                if (!DoNotKill)
                {
                    processService.CancelOutputRead();
                    processService.Kill();
                    processService.Dispose();
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("Service process error! " + e.Message);
            }

            Stopped?.Invoke(this, new EventArgs());

            System.Threading.Thread.Sleep(10);
        }