private void RandomizerStatusChanged(object sender, RoutedEventArgs e) { if (isLoadingSettings) { return; } if (!randomizer.run && (bool)checkBoxEnableRandomizer.IsChecked) { randomizer.Start(); } else { randomizer.Stop(); } }
// // 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); }