private void ReloadItems() { Items.Clear(); string systemRootFolder = Environment.GetFolderPath(Environment.SpecialFolder.Windows).ToLower(); foreach (ProcessSummary processSummary in processCache) { if (SystemProcessesHidden && (processSummary.MainModuleFileName.ToLower().StartsWith(systemRootFolder) || processSummary.MainModuleFileName.StartsWith(@"\"))) { continue; } ListViewItem lvi = new ListViewItem(processSummary.ProcessId.ToString()); lvi.SubItems.Add(Path.GetFileName(processSummary.MainModuleFileName)); lvi.SubItems.Add(processSummary.MainModuleFileName); lvi.SubItems.Add(string.Format("0x{0:x8}", processSummary.MainModuleBase)); lvi.SubItems.Add(string.Format("0x{0:x8}", processSummary.MainModuleEntryPoint)); lvi.SubItems.Add(string.Format("0x{0:x4}", processSummary.MainModuleImageSize)); lvi.SubItems.Add(processSummary.IsWOW64 ? "x86" : "x64"); lvi.Tag = processSummary; Items.Add(lvi); } ListViewItemSorter = new ProcessListViewItemComparer(sortColumnIndex, Sorting); Sort(); }
protected override void OnColumnClick(ColumnClickEventArgs e) { if (e.Column != sortColumnIndex) { sortColumnIndex = e.Column; Sorting = SortOrder.Ascending; } else { if (Sorting == SortOrder.Ascending) { Sorting = SortOrder.Descending; } else { Sorting = SortOrder.Ascending; } } ListViewItemSorter = new ProcessListViewItemComparer(e.Column, Sorting); Sort(); }