public int Compare(object x, object y) { ProcessViewItem xitem = (ProcessViewItem)x; ProcessViewItem yitem = (ProcessViewItem)y; IComparer comparer = _stringComparer; if (_sortColumn == 1) { comparer = _numericComparer; } int result = comparer.Compare( xitem.SubItems[_sortColumn].Text, yitem.SubItems[_sortColumn].Text); if (_direction == SortOrder.Ascending) { return(result); } else if (_direction == SortOrder.Descending) { return(-result); } else { return(0); } }
private void ReloadNativeProcessInfo() { Process[] chromes = Process.GetProcessesByName("chrome"); Process[] delegate_executes = Process.GetProcessesByName("delegate_execute"); Process[] processes = new Process[chromes.Length + delegate_executes.Length]; chromes.CopyTo(processes, 0); delegate_executes.CopyTo(processes, chromes.Length); foreach (Process p in processes) { var item = new ProcessViewItem(); NtProcess ntproc = new NtProcess(p.Id); if (!ntproc.IsValid) { continue; } item.Process = ChromiumProcess.Create(ntproc); if (item.Process == null) { continue; } if (ntproc.CommandLine != null) { item.DisplayCmdLine = GetFilteredCommandLineString(item.Process.CommandLineArgs); } item.SessionId = p.SessionId; item.Title = p.MainWindowTitle; item.Exe = p.ProcessName; item.Text = item.Exe; item.SubItems.Add(item.Process.Pid.ToString()); item.SubItems.Add(item.Title); item.SubItems.Add(item.Process.Category.ToString()); item.SubItems.Add(item.Process.InstallationData.Architecture.ToString()); item.SubItems.Add(item.DisplayCmdLine); listViewProcesses.Items.Add(item); // Add the item to the list view before setting its image, // otherwise the ImageList field will be null. Icon icon = item.Process.Icon; item.ImageList.Images.Add(item.Process.Icon); item.ImageIndex = item.ImageList.Images.Count - 1; } }
private void ReloadNativeProcessInfo() { Process[] chromes = Process.GetProcessesByName("chrome"); Process[] delegate_executes = Process.GetProcessesByName("delegate_execute"); Process[] processes = new Process[chromes.Length + delegate_executes.Length]; chromes.CopyTo(processes, 0); delegate_executes.CopyTo(processes, chromes.Length); foreach (Process p in processes) { var item = new ProcessViewItem(); NtProcess ntproc = new NtProcess(p.Id); if (!ntproc.IsValid) continue; item.Process = ChromiumProcess.Create(ntproc); if (item.Process == null) continue; if (ntproc.CommandLine != null) { item.DisplayCmdLine = GetFilteredCommandLineString(item.Process.CommandLineArgs); } item.SessionId = p.SessionId; item.Title = p.MainWindowTitle; item.Exe = p.ProcessName; item.Text = item.Exe; item.SubItems.Add(item.Process.Pid.ToString()); item.SubItems.Add(item.Title); item.SubItems.Add(item.Process.Category.ToString()); item.SubItems.Add(item.Process.InstallationData.Architecture.ToString()); item.SubItems.Add(item.DisplayCmdLine); listViewProcesses.Items.Add(item); // Add the item to the list view before setting its image, // otherwise the ImageList field will be null. Icon icon = item.Process.Icon; item.ImageList.Images.Add(item.Process.Icon); item.ImageIndex = item.ImageList.Images.Count - 1; } }