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();
                        }
                    }
                }
            });
        }
Exemple #3
0
 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"]);
             }
         }
     });
 }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 protected override async Task OnFFWindowStateChange(WindowStateChangeEventArgs ea)
 {
 }