using System.Management;

ManagementClass m = new ManagementClass("Win32_Process");

foreach (ManagementObject o in m.GetInstances()) {
object c = o["CommandLine"];
if (c is string) {
Console.WriteLine((string)c);
}
}

こんなもんだろ。何か異議ある?