public TitleBarTab OpenStats(ProcessContainer processContainer) { String processName = processContainer.Process.ProcessName; return(new TitleBarTab(this) { Content = new TaskStats(processContainer) { Text = processName } }); }
public void ShowSpecificProcess(ListView listView1, ProcessContainer processContainer) { listView1.GridLines = true; Process process = processContainer.Process; PerformanceCounter perfCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName, true); float cpu = perfCounter.NextValue(); ListViewItem id = new ListViewItem("ID"); id.SubItems.Add(process.Id.ToString()); listView1.Items.Add(id); ListViewItem name = new ListViewItem("Process name"); // TODO try to get proper cpu usage data. name.SubItems.Add(process.ProcessName); listView1.Items.Add(name); ListViewItem cpuList = new ListViewItem("CPU Usage /%/"); cpuList.SubItems.Add(cpu.ToString()); listView1.Items.Add(cpuList); ListViewItem memory = new ListViewItem("Memory Usage /GB/"); memory.SubItems.Add((process.PrivateMemorySize64 / 1024.0 / 1024.0).ToString()); listView1.Items.Add(memory); ListViewItem startTime = new ListViewItem("Started At"); ListViewItem running = new ListViewItem("Time Running"); try { startTime.SubItems.Add(process.StartTime.ToString()); running.SubItems.Add(process.TotalProcessorTime.ToString()); } catch (Exception ex) { startTime.SubItems.Add("NaN"); running.SubItems.Add("NaN"); } listView1.Items.Add(startTime); listView1.Items.Add(running); ListViewItem numOfComments = new ListViewItem("Number of comments"); numOfComments.SubItems.Add(processContainer.Notes.Count.ToString()); }