public WindowListMenuManager(MainForm owner, ContextMenuStrip windowsMenu)
        {
            _owner = owner;
            _windowsMenu = windowsMenu;

            WindowSeeker = new TaskWindowSeeker() {
                OwnerHandle = owner.Handle,
                SkipNotVisibleWindows = true
            };

            //Bind events
            windowsMenu.Opening += new System.ComponentModel.CancelEventHandler(WindowsMenu_opening);
        }
        private void LoadWindowList()
        {
            var manager = new TaskWindowSeeker {
                SkipNotVisibleWindows = true
            };
            manager.Refresh();

            var imageList = new ImageList();
            imageList.ColorDepth = ColorDepth.Depth32Bit;
            foreach (var w in manager.Windows) {
                var item = new ListViewItem(w.Title) {
                    Tag = w
                };

                if (w.Icon != null) {
                    imageList.Images.Add(w.Icon);
                    item.ImageIndex = imageList.Images.Count - 1;
                }

                listWindows.Items.Add(item);
            }
            listWindows.SmallImageList = imageList;
        }