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 en cours d'exécution. Comment puis-je atteindre cet objectif ? Toutes les idées ont apprécié .. Merci.Comment puis-je surveiller le processus en utilisant C#?
3
A
Répondre
0
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);
}
}
4
Vous pouvez utiliser WMI. Voici un article: Using WMI to monitor process creation, deletion and modification in .NET
1
Le moyen le plus simple, sans se connecter à des fenêtres internes serait d'interroger la liste des processus en cours d'exécution 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);
}
1
Utilisez WMI ... voir this pour une introduction.
1
Vous pouvez lister tous les processus en utilisant Process.GetProcesses
.
Vous pouvez ensuite surveiller chaque processus dans le tableau de processus renvoyé.
Questions connexes
- 1. comment surveiller le processus dans Mac
- 2. Comment surveiller le processus d'installation via le programme Java?
- 3. Comment surveiller les processus passagers/mod_rails?
- 4. Comment surveiller stdout avec sous-processus en python?
- 5. Comment surveiller l'exécution du nouveau processus racine?
- 6. Surveiller l'utilisation du réseau d'un processus?
- 7. Comment surveiller les flux en C++
- 8. Comment terminer le processus en utilisant VBScript
- 9. kill processus dans le gestionnaire de tâches en utilisant C#
- 10. Comment faire/surveiller/déployer des processus démon dans JRuby
- 11. .net Processus: comment «surveiller» la sortie du processus et rendre l'application répondant à l'événement
- 12. Afficher le processus sous Linux en utilisant C++
- 13. Comment surveiller en continu rhythmbox pour le changement de piste en utilisant python
- 14. Surveiller le trafic en Java
- 15. Surveiller SQL actuellement dans le pool partagé en utilisant Toad
- 16. comment surveiller un service Windows en utilisant une page Web
- 17. Surveiller le trafic USB
- 18. Comment surveiller l'exécution de processus/programme dans Windows?
- 19. Comment exécuter le processus en arrière-plan dans .net en utilisant C#
- 20. C#: trouver le processus en cours
- 21. Ouvrir le fichier en arrière-plan en utilisant le processus
- 22. Deux arguments pour le processus en C#
- 23. Obtenir l'utilisation CPU d'un processus en utilisant C++ (win32)
- 24. Delphi - Comment surveiller le réseau
- 25. C++ obtenir PID en utilisant le système
- 26. Modifier le nom du processus en C#?
- 27. Comment surveiller le progrès de ffmpeg?
- 28. Comment finit le processus fils lorsque le processus parent se termine en C#
- 29. Comment utiliser un ID de processus donné par un processus dans un autre processus en utilisant C#
- 30. Comment démarrer/arrêter le processus sur une machine distante en utilisant C#?
Je ne veux pas récupérer tous les noms de processus. J'ai besoin des noms de processus démarrés et terminés pendant l'exécution de mon thread dans l'application. – Anuya
@Anuya dans ce cas, vous devez reformuler votre question, car ce n'est pas ce que vous avez demandé. –
Rephrased ... Merci, Maintenant, comment faire cela? – Anuya