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(); } }
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); } }
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); } }