¿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);

Published 3/8/2006 18:56 por Rodrigo Corral
Archivado en: ,,
Comparte este post:
http://geeks.ms/blogs/rcorral/archive/2006/08/03/1102.aspx

Comentarios

# re: ¿Cómo enumerar los procesos que esta ejecutando la máquina?

wolas,

Repasando entradas he visto esta y me he acordado de una cosa relacionada. GetProcesses en .NET 1.1 necesita que esten instalados los contadores de rendimiento para poder enseñar los procesos en curso, si no recibiremos un precioso InvalidOperationException, porque esta fallando al acceder a las claves de registro. En .net 2.0 no es necesario porque se obtienen de manera diferente :)

ciao!

Monday, October 02, 2006 11:42 PM por David Salgado