Maison >développement back-end >C++ >Comment puis-je déterminer l'heure de la dernière exécution d'un processus arrêté dans .NET ?
La classe .NET Process
offre un aperçu des processus actuellement actifs. Cependant, cela ne suffit pas lorsqu'on essaie de déterminer la dernière heure d'exécution d'un processus déjà terminé.
Ce défi est résolu efficacement à l’aide de Windows Management Instrumentation (WMI). WMI permet de surveiller les événements de démarrage et d’arrêt du processus. Voici une mise en œuvre pratique :
<code class="language-csharp">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}"); } }</code>
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 permanence les démarrages et les arrêts du processus, affichant le nom du processus à chaque fois. Appuyez sur n'importe quelle touche pour mettre fin à la surveillance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!