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


}

これが、System.threading.timer()を使用してこの関数を毎秒呼び出すrefreherブロックです。オリジナルのタスクマネージャーの更新機能のようなソリューションが必要ですが、誰かがこれを助けることができますか?いくつかのサンプルコードを提供してください。前もって感謝します!

4

1 に答える 1

0

問題に役立つ以下のリンクを使用してください。

http://social.msdn.microsoft.com/Forums/eu/csharplanguage/thread/f8cb71ef-aba6-42f6-a462-533bca201d9e

于 2012-07-18T15:17:33.723 に答える