.NET Process
類別提供對目前活動進程的深入了解。 但是,當嘗試確定已結束的進程的最後執行時間時,它會出現不足。
使用 Windows Management Instrumentation (WMI) 可以有效解決這個挑戰。 WMI 允許監視進程啟動和停止事件。 這是一個實際的實作:
<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>
為了有效監控進程事件,此應用程式需要提升權限。 相應地調整應用程式清單。
運行程式。它將持續監控進程的啟動和停止,每次顯示進程名稱。 按任意鍵結束監控。
以上是如何確定 .NET 中已停止進程的最後執行時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!