新进程进入时自动刷新列表视图

时间:2012-07-18 15:14:08

标签: c#

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();


}

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

1 个答案:

答案 0 :(得分:0)