public static MyProcess[] GetProcesses() { Process[] objProcesses = Process.GetProcesses(); List<MyProcess> objMyProcesses = new List<MyProcess>(); foreach(var proc in objProcesses) { var process = new MyProcess { objCounter = new PerformanceCounter("Process", "% Processor Time", proc.ProcessName), ProcessName = proc.ProcessName, Id = proc.Id, MemoryUsage = (int)(proc.WorkingSet64 / 10000) }; process.objCounter.NextValue(); objMyProcesses.Add(process); } return objMyProcesses.ToArray(); }