C#怎么获取windows正在运行的进程

C#如何获取windows正在运行的进程
请问下有什么办法能把所有windows当前所有用户正在运行的进程都获取到,包括远程登录用户的进程。
------解决思路----------------------
msdn下process类。
------解决思路----------------------
msdn下process类。
------解决思路----------------------
http://msdn.microsoft.com/zh-cn/library/system.diagnostics.process.aspx
------解决思路----------------------
using System.Diagnostics;

string str = "";
Process[] processes;
//Get the list of current active processes.
processes = System.Diagnostics.Process.GetProcesses();
//Grab some basic information for each process.
Process process;
for(int i = 0;i<processes.Length-1;i++)
{
  process = processes[i];
  str = str + Convert.ToString(process.Id) + " : " +
  process.ProcessName + "\r\n";
}
//Display the process information to the user
System.Windows.Forms.MessageBox.Show(str);