C# 当新进程进入时自动刷新listview

C# 当新进程进入时自动刷新listview,c#,C#,这是我每秒使用System.threading.timer()调用此函数的refreher块。我需要一个类似于原始taskmanager刷新功能的解决方案,有人可以为此提供帮助吗?请提供一些示例代码。提前谢谢 使用以下对您的问题有帮助的链接: 可能存在的副本 public void processloader(object temp) { Process[] processes = null; try { processes = Process.Get

这是我每秒使用System.threading.timer()调用此函数的refreher块。我需要一个类似于原始taskmanager刷新功能的解决方案,有人可以为此提供帮助吗?请提供一些示例代码。提前谢谢

使用以下对您的问题有帮助的链接:

可能存在的副本
public void processloader(object temp) 
{

    Process[] processes = null;
    try
    {
        processes = Process.GetProcesses();
    }

    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        Application.Exit();
        return;
    }
    listView1.BeginUpdate();
    listView1.Clear();
    int threadscount = 0;
    listView1.Items.Clear();
    foreach (Process p in processes)
    {
        try
        {
            string[] prcdetails = new string[] { p.ProcessName, p.Id.ToString(), p.StartTime.ToShortTimeString(), p.PriorityClass.ToString(), (p.WorkingSet64 / 1048576).ToString() + "Mb", p.Threads.Count.ToString() };
            ListViewItem proc = new ListViewItem(prcdetails);
            listView1.Items.Add(proc);
            threadscount += p.Threads.Count;
        }
        catch { Console.WriteLine(p); }
    }
    statusBar1.Panels[0].Text = "Processes : " + processes.Length.ToString();
    statusBar1.Panels[1].Text = "Threads : " + (threadscount + 1).ToString();
    listView1.EndUpdate();
    listView1.Refresh();


}