¿Cómo enumerar los procesos que esta ejecutando la máquina?
Es una pregunta que me hacen o leo frecuente.
Utilizando el Api de Win32, lo mejor es usar la función EnumProcs que esta disponible en este articulo de la Knowledge Base de Microsoft.
En el mundo .net es algo más sencillo, basta utilizar el método GetProcesses de la clase Process. Tambien hay una entrada sobre el tema en la Knowledge Base, que explica como hacerlo en VB.net pero el código en C# es bien simple:
using System.Diagnostics;
...
Process[] running = Process.GetProcesses();
foreach(Process p in running)
Console.WriteLine(p.ProcessName);