예제 #1
0
        public void SelectSimilar(string MatchString)
        {
            // Save match string
            this.MatchString = MatchString ?? "";

            // Select all similar applications
            foreach (ListViewItem lItem in this.Items)
            {
                ApplicationListViewItem alvCurrentItem = (ApplicationListViewItem)lItem;

                switch (MatchUsing)
                {
                case MatchUsing.WindowClass:
                    lItem.Selected = (alvCurrentItem.WindowClass.ToLower() == this.MatchString.ToLower());

                    break;

                case MatchUsing.WindowTitle:
                    lItem.Selected = (alvCurrentItem.WindowTitle.ToLower() == this.MatchString.ToLower());

                    break;

                case MatchUsing.ExecutableFilename:
                    lItem.Selected = (alvCurrentItem.WindowFilename.ToLower() == this.MatchString.ToLower());

                    break;
                }
            }

            // Exit if nothing was selected
            if (this.SelectedItems.Count == 0)
            {
                return;
            }

            // Get first selected item
            ApplicationListViewItem alvFirstItem = this.SelectedItems[0] as ApplicationListViewItem;

            // Ensure selected item is visible
            if (alvFirstItem != null)
            {
                alvFirstItem.EnsureVisible();
            }
        }
예제 #2
0
        private void BindWindows(SystemWindow[] Windows)
        {
            Clear();

            foreach (SystemWindow sWind in Windows)
            {
                ApplicationListViewItem lItem = new ApplicationListViewItem();

                // Todo: Add no icon found image
                Bitmap   bMap     = sWind.Icon.ToBitmap();
                Bitmap   bFinal   = new Bitmap(applicationIcons.ImageSize.Width, applicationIcons.ImageSize.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
                Graphics oGraphic = Graphics.FromImage(bFinal);
                oGraphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                oGraphic.Clear(Color.Transparent);
                oGraphic.DrawImage(bMap, 0, 0, bFinal.Width, bFinal.Height);
                applicationIcons.Images.Add(bFinal);

                // Store identifying information
                lItem.WindowClass     = sWind.ClassName;
                lItem.WindowTitle     = sWind.Title;
                lItem.WindowFilename  = Path.GetFileName(sWind.Process.MainModule.FileName);
                lItem.ApplicationName = sWind.Process.MainModule.FileVersionInfo.FileDescription;
                lItem.Text            = sWind.Title;
                lItem.ImageIndex      = applicationIcons.Images.Count - 1;

                if (sWind.Title.Length > 40)
                {
                    lItem.Text        = sWind.Title.Substring(0, 40).Trim() + "...";
                    lItem.ToolTipText = sWind.Title;
                }

                lItem.SubItems.Add(new ListViewItem.ListViewSubItem(lItem, String.Format("{0} ({1})", sWind.ClassName, Path.GetFileName(sWind.Process.MainModule.FileName))));

                this.Items.Add(lItem);
            }
        }
예제 #3
0
        private void BindWindows(SystemWindow[] Windows)
        {
            Clear();

            foreach (SystemWindow sWind in Windows)
            {
                ApplicationListViewItem lItem = new ApplicationListViewItem();

                // Todo: Add no icon found image
                Bitmap bMap = sWind.Icon.ToBitmap();
                Bitmap bFinal = new Bitmap(applicationIcons.ImageSize.Width, applicationIcons.ImageSize.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
                Graphics oGraphic = Graphics.FromImage(bFinal);
                oGraphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                oGraphic.Clear(Color.Transparent);
                oGraphic.DrawImage(bMap, 0, 0, bFinal.Width, bFinal.Height);
                applicationIcons.Images.Add(bFinal);

                // Store identifying information
                lItem.WindowClass = sWind.ClassName;
                lItem.WindowTitle = sWind.Title;
                lItem.WindowFilename = Path.GetFileName(sWind.Process.MainModule.FileName);
                lItem.ApplicationName = sWind.Process.MainModule.FileVersionInfo.FileDescription;
                lItem.Text = sWind.Title;
                lItem.ImageIndex = applicationIcons.Images.Count - 1;

                if (sWind.Title.Length > 40)
                {
                    lItem.Text = sWind.Title.Substring(0, 40).Trim() + "...";
                    lItem.ToolTipText = sWind.Title;
                }

                lItem.SubItems.Add(new ListViewItem.ListViewSubItem(lItem, String.Format("{0} ({1})", sWind.ClassName, Path.GetFileName(sWind.Process.MainModule.FileName))));

                this.Items.Add(lItem);
            }
        }