„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die letzte Ausführungszeit eines gestoppten Prozesss in .NET bestimmen?

Wie kann ich die letzte Ausführungszeit eines gestoppten Prozesss in .NET bestimmen?

Gepostet am 2025-04-22
Durchsuche:647

How Can I Determine the Last Execution Time of a Stopped Process in .NET?

Nachfolger der letzten Laufzeit eines beendeten .NET -Prozesses

Die .NET process Klasse bietet Einblicke in aktuell aktive Prozesse. Es ist jedoch kurz, wenn versucht wird, die letzte Ausführungszeit eines bereits beendeten Prozesses zu bestimmen.

wmi: Die Lösung

Diese Herausforderung wird effektiv mithilfe von Windows Management Instrumentation (WMI) behandelt. Der WMI ermöglicht den Überwachungsprozessstart- und Stoppereignissen. Hier ist eine praktische Implementierung:

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}");
    }
}

Essentiell: Erhöhte Berechtigungen

Um Prozessereignisse effektiv zu überwachen, erfordert diese Anwendung erhöhte Berechtigungen. Passen Sie das Antrag entsprechend an.

wie man

verwendet

Führen Sie das Programm aus. Es wird ständig starten und stoppt, wobei der Prozessname jedes Mal angezeigt wird. Drücken Sie jede Taste, um die Überwachung zu beenden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3