Example #1
0
        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);
            }
        }
Example #2
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;
            }
        }
Example #3
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;
      }
    }