.NET Process
클래스는 현재 활성화된 프로세스에 대한 통찰력을 제공합니다. 그러나 이미 종료된 프로세스의 마지막 실행 시간을 알아내려는 경우에는 부족합니다.
이 문제는 WMI(Windows Management Instrumentation)를 사용하여 효과적으로 해결됩니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!