private void TerminateSession() { Application.Current.Dispatcher.Invoke(() => { Console.WriteLine("Terminating session..."); if (!AppState.isLoginWindowOpen) { LoginWindow loginWindow = new LoginWindow(); loginWindow.Show(); AppState.isLoginWindowOpen = true; AppState.loginWindow = loginWindow; } if (AppState.openWindow != null) { AppState.openWindow.allowWindowClose = true; AppState.openWindow.Close(); } AppState.SESSION_ACTIVE = false; AppState.HANDSHAKE_COMPLETE = false; AppState.ComputerCode = String.Empty; AppState.jwt = String.Empty; }); if (!AppState.DEV_MODE && !AppState.SHUTDOWN_FOR_UPDATE_MODE) { WindowsLogOff(); } if (ws.IsAlive) { ws.Close(); } }
private const int MINIMUM_SPLASH_TIME = 1500; // Miliseconds protected override void OnStartup(StartupEventArgs e) { Common.SetTaskManager(false); SentrySdk.Init(Settings.Default.SENTRY_DSN); var devMode = Environment.GetEnvironmentVariable("ANTIDOTE_DEV_MODE"); AppState.DEV_MODE = (devMode == "YES"); SplashScreen splash = new SplashScreen(); splash.Show(); // Step 2 - Start a stop watch Stopwatch timer = new Stopwatch(); timer.Start(); // Step 3 - Load your windows but don't show it yet base.OnStartup(e); ReadRegistry(); if (AppState.INIT_SETUP_COMPLETE) { LoginWindow main = new LoginWindow(); main.Show(); AppState.isLoginWindowOpen = true; WSClient ws = WSClient.Instance; AppState.loginWindow = main; } else { InitSetup initSetup = new InitSetup(); initSetup.Show(); } timer.Stop(); int remainingTimeToShowSplash = MINIMUM_SPLASH_TIME - (int)timer.ElapsedMilliseconds; if (remainingTimeToShowSplash > 0) { Thread.Sleep(remainingTimeToShowSplash); } splash.Close(); worker = new BackgroundWorker(); worker.DoWork += worker_DoWork; System.Timers.Timer workerTimer = new System.Timers.Timer(5000); workerTimer.Elapsed += timer_Elapsed; workerTimer.Start(); Process.Start(Path.Combine(Environment.GetEnvironmentVariable("windir"), "explorer.exe")); }
private void Click_Btn(object sender, RoutedEventArgs e) { LoginWindow lw = new LoginWindow(); lw.Show(); }