コード例 #1
0
        public IEnumerable <WindowInfo> ToCut(WindowInfo windowInfo, VirtualDesktopManager desktopManager)
        {
            var windows = new List <WindowInfo>();

            switch (Hide)
            {
            case ApplicationBehaviorsProcessHideBehaviorDefaultHide.SelectedWindow:
            {
                windows.Add(windowInfo);
                break;
            }

            case ApplicationBehaviorsProcessHideBehaviorDefaultHide.AllProcessWindows:
            {
                var searchWindows = CutHelper.WindowsToSearchIn(desktopManager, ConsiderWindows);

                var processWindows = searchWindows.Where(w =>
                    {
                        Process cutProcess   = windowInfo.GetProcess();
                        Process otherProcess = w.GetProcess();
                        return
                        (cutProcess != null && otherProcess != null &&
                         cutProcess.Id == otherProcess.Id);
                    });
                windows.AddRange(processWindows);
                break;
            }
            }

            return(windows);
        }
コード例 #2
0
        public IEnumerable <WindowInfo> ToCut(WindowInfo windowInfo, VirtualDesktopManager desktopManager)
        {
            var searchWindows = CutHelper.WindowsToSearchIn(desktopManager, ConsiderWindows);

            return(searchWindows.Where(s => Window.Any(w => w.Equals(s))));
        }