3 votes

Comment puis-je surveiller le processus en utilisant c# ?

Je veux que mon application surveille et enregistre les processus qui sont démarrés et terminés dans la machine winxp pendant l'existence de mon application. Je ne veux pas obtenir tous les noms de processus qui sont en cours d'exécution. Comment puis-je réaliser cela ? Toute idée est appréciée. Merci.

4voto

Giorgi Points 15760

1voto

Winston Smith Points 12029

Le moyen le plus simple, sans s'introduire dans les mécanismes internes de Windows, serait d'interroger la liste des processus en cours de temps en temps.

using System.Diagnostics;

// Poll every 5 seconds
while(true)
{
    // Get a list of running processes
    Process[] processlist = Process.GetProcesses();

    // Do logging
    // ...

    Thread.Sleep(5000);
}

1voto

corvuscorax Points 1759

Utiliser WMI ... voir este pour une introduction.

1voto

Oded Points 271275

Vous pouvez lister tous les processus en utilisant Process.GetProcesses .

Vous pouvez alors surveiller chaque processus dans le tableau de processus retourné.

0voto

Anuya Points 1789
public static void Monitor()
    { 
        ArrayList existingProcesses = GetExistingProcess();  

        while (true)
        {  
            ArrayList currentProcesses = new ArrayList();
            currentProcesses = GetCurrentProcess();

            ArrayList NewApps = new ArrayList(GetCurrentProcess());

            foreach (var p in ExistingProcess)
            {
                NewApps.Remove(p); 
            }
            string str = "";
            foreach (string NewApp in NewApps)
            {
                str = "Process Name : " + NewApp + "   Process ID : " + System.Diagnostics.Process.GetProcessesByName(NewApp)[0].Id.ToString() + " ";
            }
            MessageBox.Show(str);
        }
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X