コード例 #1
0
ファイル: ViewModel.cs プロジェクト: DavidMoore/PinWindows
        internal void EnumerateWindows()
        {
            var results = new List <WindowModel>();

            foreach (var process in Process.GetProcesses()
                     .Where(x => x.MainWindowHandle != IntPtr.Zero && !string.IsNullOrEmpty(x.MainWindowTitle))
                     .OrderBy(x => x.MainWindowTitle))
            {
                foreach (ProcessThread thread in process.Threads)
                {
                    EnumThreadWindows(thread.Id, (handle, ptr) =>
                    {
                        var model = GetWindowModel(handle);
                        if (model != null)
                        {
                            results.Add(model);
                        }
                        return(true);
                    }, IntPtr.Zero);
                }
            }

            Windows.Clear();
            results.ForEach(model => Windows.Add(model));
        }
コード例 #2
0
 private void _Closing()
 {
     if (isClosing) return;
     isClosing = true;
     Windows.Pop();
     foreach (var item in Windows)
     {
         item.Close();
     }
     Windows.Clear();
 }
コード例 #3
0
        /// <summary>
        /// Close the camp window
        /// </summary>
        public override void Exit()
        {
            Team team = GameScreen.Team;

            Windows.Clear();

            // Restore item in hand cursor
            if (team.ItemInHand != null)
            {
                Mouse.SetTile(team.ItemInHand.TileID);
            }

            base.Exit();
        }
コード例 #4
0
        private void RefreshWindows()
        {
            lock (lockObjct)
            {
                windowList = new List <WindowInfo>();
                EnumWindows(new EnumWindowsDelegate(EnumWindowCallBack), IntPtr.Zero);

                Windows.Clear();
                foreach (var window in windowList)
                {
                    if (IsCapturableWindow(window))
                    {
                        Windows.Add(window);
                    }
                }
            }
        }
コード例 #5
0
        } //\[?(\s)*D{1}(eath(s)?)?(\s)*?\]?(\s)*(\[(\s)*\d+(\s)*\])?(\s)*\:?(\s)*\[?\s*(\d+)\s*\]?

        public void LoadWindows()
        {
            DeathsRegexVisibility     = Visibility.Collapsed;
            NewParallelStatVisibility = Visibility.Collapsed;
            ParallelsVisibility       = Visibility.Collapsed;
            RenameStatVisibility      = Visibility.Collapsed;
            Windows.Clear();
            EnumWindows(GetWindow, IntPtr.Zero);
            //Timer.Stop();
            if (Windows.Count == 1)
            {
                SelectProcess(Windows.First());
            }
            else if (Windows.Count > 1)
            {
                ProcessesVisibility = Visibility.Visible;
                GameTimeVisibility  = Visibility.Collapsed;
            }
        }
コード例 #6
0
 private static void FreshInfoDic()
 {
     Windows.Clear();
     foreach (var item in typeof(EditorWindow).GetSubTypesInAssemblys())
     {
         if (!item.IsDefined(typeof(EditorWindowCacheAttribute), false))
         {
             continue;
         }
         object[] attrs = item.GetCustomAttributes(false);
         for (int i = 0; i < attrs.Length; i++)
         {
             if (attrs[i] is EditorWindowCacheAttribute)
             {
                 EditorWindowCacheAttribute attr = attrs[i] as EditorWindowCacheAttribute;
                 Windows.Add(new EditorWindowInfo(item, string.IsNullOrEmpty(attr.searchName) ? item.FullName : attr.searchName));
             }
         }
     }
     AddDefautEditorWindows();
 }
コード例 #7
0
        public void Dispose()
        {
            if (_isDisposed)
            {
                return;
            }

            _isDisposed = true;

            IsStarted = false;

            lock (_listLock)
            {
                foreach (var windowRenderInfo in Windows)
                {
                    windowRenderInfo.Dispose();
                }
                Windows.Clear();
            }

            _updateReceivedAutoResetEvent.Dispose();
        }
コード例 #8
0
 public void CleanupOldSession()
 {
     Windows.Clear();
 }
コード例 #9
0
 public void ClientContextInitializeBefore()
 {
     Windows.Clear();
 }
コード例 #10
0
 public void GameContextInitializeBefore()
 {
     Windows.Clear();
 }
コード例 #11
0
 public void ClearChart()
 {
     Windows.Clear();
     DockPanels.Clear();
     panels.Clear();
 }