首頁 > 後端開發 > C++ > 如何檢索 .NET 中終止進程的上次運行時間?

如何檢索 .NET 中終止進程的上次運行時間?

Patricia Arquette
發布: 2025-01-21 00:46:09
原創
239 人瀏覽過

How to Retrieve the Last Run Time of a Terminated Process in .NET?

使用 .NET 擷取終止程序的上次執行時間

標準 .NET Process.GetProcessesByName 方法僅檢索目前正在執行的進程。 為了獲取有關終止進程的信息,Windows Management Instrumentation (WMI) 提供了使用 Win32_ProcessTrace 類別的解決方案。

範例:

此範例示範如何建立一個使用 WMI 監視程序啟動和停止的控制台應用程式。 請記住在您的專案中加入對 System.Management 的引用。

<code class="language-csharp">using System;
using System.Management;

public class ProcessMonitor
{
    public static void Main(string[] args)
    {
        // Establish event watchers for process start and stop events.
        using (ManagementEventWatcher startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")))
        {
            startWatch.EventArrived += StartWatch_EventArrived;
            startWatch.Start();

            using (ManagementEventWatcher stopWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace")))
            {
                stopWatch.EventArrived += StopWatch_EventArrived;
                stopWatch.Start();

                // Await user input to end monitoring.
                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            }
        }
    }

    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>
登入後複製

實作步驟:

  1. 權限:確保您的應用程式具有足夠的權限(提升的權限)。
  2. 執行:運行應用程式。
  3. 觀察:監視控制台輸出以查看進程啟動和停止事件。

重要說明:WMI 在此任務上的效能可能不是最佳的。對於高性能場景,應該探索替代方法。

以上是如何檢索 .NET 中終止進程的上次運行時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板