protected virtual async Task OnFFWindowStateChange(WindowStateChangeEventArgs ea) { await this.UIThreadAsync(() => { if (ea.IsRunningNew != ea.IsRunningOld) { //_TataruUIModel.IsHiddenByUser = false; _ChatWindowViewModel.IsHiddenByUser = false; //_TextArrivedTime = DateTime.UtcNow; //_AutoHidden = false; } if (ea.NewWindowState != ea.OldWindowState) { if (ea.NewWindowState == WindowState.Minimized) { _ChatWindowViewModel.IsWindowVisible = false; } else if (_ChatWindowViewModel.IsHiddenByUser == false) { if (_AutoHidden == false) { _ChatWindowViewModel.IsWindowVisible = true; } } } }); }
private async Task OnFFWindowStateChange(WindowStateChangeEventArgs ea) { await this.UIThreadAsync(() => { if (ea.IsRunningNew != ea.IsRunningOld) { _TataruUIModel.IsHiddenByUser = false; _TextArrivedTime = DateTime.UtcNow; _AutoHidden = false; } if (ea.NewWindowState != ea.OldWindowState) { if (ea.NewWindowState == WindowState.Minimized) { this.Hide(); } else if (_TataruUIModel.IsHiddenByUser == false) { if (_AutoHidden == false) { this.Show(); } } } }); }
private async Task OnFFWindowStateChange(WindowStateChangeEventArgs ea) { await this.UIThreadAsync(() => { if (ea.IsRunningNew != ea.IsRunningOld) { if (ea.IsRunningNew) { FFStatusText.Content = ((string)this.Resources["FFStatusTextFound"]) + " " + ea.Text; } else { FFStatusText.Content = ((string)this.Resources["FFStatusText"]); } } }); }
private void Thunderbird_VisualStateChanged(object sender, WindowStateChangeEventArgs e) { WindowVisualState visualState = WindowVisualState.Normal; try { visualState = (WindowVisualState)e.WindowState; } catch (InvalidCastException) { // ignore } log.Debug("Detected visual state change to {@visualState}.", visualState); if (visualState == WindowVisualState.Minimized) { HideThunderbird(); } else { thunderbirdShown = true; } }
private void WatchFFWindowState() { Task.Factory.StartNew(async() => { System.Windows.WindowState FFXIVPrevWindowState = System.Windows.WindowState.Minimized; FFWindowState = System.Windows.WindowState.Minimized; bool _isRunningPrev = false; while (_KeepWorking && _KeepReading) { try { bool IsExclusionWindow = false; System.Windows.WindowState FFXIVWindowState = System.Windows.WindowState.Normal; var fgWindow = Win32Interfaces.GetForegroundWindow(); if (_FfXivProcess != null) { if (_FfXivProcess.MainWindowHandle != fgWindow) { FFXIVWindowState = System.Windows.WindowState.Minimized; } else { FFXIVWindowState = System.Windows.WindowState.Normal; } } for (int i = 0; i < _ExclusionWindowHandlers.Count; i++) { if (fgWindow == _ExclusionWindowHandlers[i]) { IsExclusionWindow = true; break; } } if (!IsExclusionWindow && fgWindow != IntPtr.Zero) { var oldValue = FFXIVPrevWindowState; if (FFXIVWindowState != FFXIVPrevWindowState) { FFXIVPrevWindowState = FFXIVWindowState; var ea = new WindowStateChangeEventArgs(this) { OldWindowState = oldValue, NewWindowState = FFXIVPrevWindowState, IsRunningOld = _isRunningPrev, IsRunningNew = true, Text = "" }; _FFWindowStateChanged.InvokeAsync(ea).Forget(); } FFWindowState = FFXIVPrevWindowState; } Process[] processes = Process.GetProcessesByName(_FfProcessName); if (processes.Length == 0) { System.Windows.WindowState oldState = System.Windows.WindowState.Normal; var ea = new WindowStateChangeEventArgs(this) { OldWindowState = oldState, NewWindowState = FFXIVPrevWindowState, IsRunningOld = _isRunningPrev, IsRunningNew = false, Text = "" }; _FFWindowStateChanged.InvokeAsync(ea).Forget(); _KeepReading = false; _isRunningPrev = false; FFWindowState = System.Windows.WindowState.Minimized; MemoryHandler.Instance.UnsetProcess(); } else { if (_isRunningPrev == false) { System.Windows.WindowState oldState = System.Windows.WindowState.Minimized; System.Windows.WindowState newState = System.Windows.WindowState.Normal; var ea = new WindowStateChangeEventArgs(this) { OldWindowState = oldState, NewWindowState = newState, IsRunningOld = _isRunningPrev, IsRunningNew = true, Text = processes[0].ProcessName + ".exe" + " PID: " + processes[0].Id.ToString() }; _FFWindowStateChanged.InvokeAsync(ea).Forget(); FFWindowState = System.Windows.WindowState.Normal; } _isRunningPrev = true; } } catch (Exception e) { Logger.WriteLog(Convert.ToString(e)); } await Task.Delay(GlobalSettings.MemoryReaderDelay); } }, TaskCreationOptions.LongRunning); }
protected override async Task OnFFWindowStateChange(WindowStateChangeEventArgs ea) { }