Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menentukan Masa Perlaksanaan Terakhir bagi Proses yang Dihentikan dalam .NET?

Bagaimanakah Saya Boleh Menentukan Masa Perlaksanaan Terakhir bagi Proses yang Dihentikan dalam .NET?

Barbara Streisand
Barbara Streisandasal
2025-01-21 00:41:09511semak imbas

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

Menjejaki Masa Larian Terakhir bagi Proses .NET yang Ditamatkan

Kelas .NET Process menawarkan cerapan tentang proses yang sedang aktif. Walau bagaimanapun, ia gagal apabila cuba menentukan masa pelaksanaan terakhir bagi proses yang telah pun tamat.

WMI: Penyelesaian

Cabaran ini ditangani dengan berkesan menggunakan Instrumen Pengurusan Windows (WMI). WMI membenarkan proses pemantauan bermula dan berhenti peristiwa. Berikut ialah pelaksanaan praktikal:

<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>

Penting: Kebenaran Dinaikkan

Untuk memantau peristiwa proses dengan berkesan, aplikasi ini memerlukan keistimewaan yang tinggi. Laraskan manifes permohonan dengan sewajarnya.

Cara Penggunaan

Jalankan program. Ia akan memantau proses bermula dan berhenti secara berterusan, memaparkan nama proses setiap kali. Tekan sebarang kekunci untuk menamatkan pemantauan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Masa Perlaksanaan Terakhir bagi Proses yang Dihentikan dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn