.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 中国語 Web サイトの他の関連記事を参照してください。