protected override void OnStartup(StartupEventArgs e) { MainWindow = Shell.Instance; MainWindow.Show(); ShutdownMode = ShutdownMode.OnMainWindowClose; Task.Factory.StartNew(() => { while (true) { using (var engine = CreateEngine()) using (var watcher = new WatcherThread(engine)) { Shell.Instance.IsAttached = true; Minimap minimap = null; OverlayWindow overlay = null; Execute.OnUIThread(() => { Canvas canvas = new Canvas(); overlay = OverlayWindow.Create(engine.Process, canvas); overlay.Show(); minimap = new Minimap(canvas); }); watcher.AddTask(minimap.Update); watcher.Start(); engine.Process.WaitForExit(); Execute.OnUIThread(() => overlay.Close()); } Shell.Instance.IsAttached = false; //Execute.OnUIThread(() => MainWindow.Close()); } }, TaskCreationOptions.LongRunning); }
public override void Dispose() { if (_isDisposed) { return; } if (IsEnabled) { Disable(); } try { OverlayWindow?.Hide(); OverlayWindow?.Close(); } catch (Exception ex) { ex.Log("Ошибка в OverlayLayer.Dispose() на строке OverlayWindow.Hide() или Close()"); } OverlayWindow = null; _tickEngine.Stop(); Settings.Save(); base.Dispose(); _isDisposed = true; }
// Clear objects public override void Dispose() { if (_isDisposed) { return; } if (IsEnabled) { Disable(); } Application.Current.Dispatcher.Invoke((Action) delegate { try { OverlayWindow.Hide(); OverlayWindow.Close(); OverlayWindow = null; } catch (NullReferenceException e) { } }); _tickEngine.Stop(); base.Dispose(); _isDisposed = true; }
/// <summary> /// Close the overlay window, if it has been created. /// </summary> public void Close() { if (mOverlayWindow != null) { mOverlayWindow.Invoke(() => mOverlayWindow.Close()); mOverlayWindow = null; } }
public void Show() { var window = new OverlayWindow(); window.SourceInitialized += (s, e) => { window.Close(); }; window.Show(); }
public bool Detach() { if (overlay != null) { overlay.Close(); overlay.Dispose(); overlay = null; } syncTimer.Stop(); gameCheckTimer.Stop(); selectedUnitTimer.Stop(); if (Pickit != null) { Pickit.Stop(); Pickit = null; } if (MapHandler != null) { MapHandler.Reset(); MapHandler = null; } if (AutoTeleport != null) { AutoTeleport.Terminate(); AutoTeleport = null; } PlayerInfo = null; if (Installed) { try { pd.StopDebugging(); pd.Join(); pd = null; } catch { return(false); } } return(true); }
// Clear objects public override void Dispose() { if (_isDisposed) { return; } if (IsEnabled) { Disable(); } OverlayWindow.Hide(); OverlayWindow.Close(); OverlayWindow = null; _tickEngine.Stop(); base.Dispose(); _isDisposed = true; }
public void ClickThrough() { var window = new OverlayWindow(); window.ClickThrough = true; window.ClickThrough = false; window.ClickThrough = true; window.ClickThrough = false; window.SourceInitialized += (s, e) => { window.ClickThrough = true; window.ClickThrough = false; window.ClickThrough = true; window.ClickThrough = false; window.Close(); }; window.Show(); }
public void AltF4Cancel() { var window = new OverlayWindow(); window.AltF4Cancel = true; window.AltF4Cancel = false; window.AltF4Cancel = true; window.AltF4Cancel = false; window.SourceInitialized += (s, e) => { window.AltF4Cancel = true; window.AltF4Cancel = false; window.AltF4Cancel = true; window.AltF4Cancel = false; window.Close(); }; window.Show(); }
private void CloseOverlayWindow() { Debug.Assert(_overlayWindow != null); _overlayWindow.Close(); _overlayWindow = null; }