La classe .net processus
offre des informations sur les processus actuellement actifs. Cependant, il ne fait pas besoin de déterminer le dernier temps d'exécution d'un processus déjà terminé.
Ce défi est efficacement relevé à l'aide de Windows Management Instrumentation (WMI). WMI permet les événements de démarrage et d'arrêt du processus de surveillance. Voici une implémentation pratique:
using System;
using System.Management;
public class ProcessMonitor
{
public static void Main(string[] args)
{
// Watch for process starts
using (var startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")))
{
startWatch.EventArrived = StartWatch_EventArrived;
startWatch.Start();
// Watch for process stops
using (var stopWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace")))
{
stopWatch.EventArrived = StopWatch_EventArrived;
stopWatch.Start();
Console.WriteLine("Monitoring process activity. Press any key to exit.");
Console.ReadKey();
}
startWatch.Stop();
}
}
private static void StopWatch_EventArrived(object sender, EventArrivedEventArgs e)
{
Console.WriteLine($"Process stopped: {e.NewEvent.Properties["ProcessName"].Value}");
}
private static void StartWatch_EventArrived(object sender, EventArrivedEventArgs e)
{
Console.WriteLine($"Process started: {e.NewEvent.Properties["ProcessName"].Value}");
}
}
Pour surveiller efficacement les événements de processus, cette application nécessite des privilèges élevés. Ajustez le manifeste de l'application en conséquence.
Exécutez le programme. Il surveillera en continu le processus démarre et s'arrête, affichant le nom du processus à chaque fois. Appuyez sur n'importe quelle touche pour terminer la surveillance.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3