Beispiel #1
0
        private void getInitialWindows()
        {
            EnumWindows((hwnd, lParam) =>
            {
                ApplicationWindow win = new ApplicationWindow(hwnd);

                // set window category if provided by shell
                win.Category = TaskCategoryProvider?.GetCategory(win);

                if (win.CanAddToTaskbar && win.ShowInTaskbar && !Windows.Contains(win))
                {
                    Windows.Add(win);
                }

                return(true);
            }, 0);

            IntPtr hWndForeground = GetForegroundWindow();

            if (Windows.Any(i => i.Handle == hWndForeground && i.ShowInTaskbar))
            {
                ApplicationWindow win = Windows.First(wnd => wnd.Handle == hWndForeground);
                win.State = ApplicationWindow.WindowState.Active;
                win.SetShowInTaskbar();
            }
        }
 private void CategoriesChanged()
 {
     foreach (ApplicationWindow window in Windows)
     {
         if (window.ShowInTaskbar)
         {
             window.Category = TaskCategoryProvider?.GetCategory(window);
         }
     }
 }