.NET을 사용하여 종료된 프로세스의 마지막 실행 시간 검색
표준 .NET Process.GetProcessesByName
메서드는 현재 실행 중인 프로세스만 검색합니다. 종료된 프로세스에 대한 정보를 얻기 위해 WMI(Windows Management Instrumentation)는 Win32_ProcessTrace
클래스
예시:
이 예에서는 WMI를 사용하여 프로세스 시작 및 중지를 모니터링하는 콘솔 애플리케이션을 만드는 방법을 보여줍니다. 프로젝트에 System.Management
에 대한 참조를 추가하는 것을 잊지 마세요.
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}"); } }
구현 단계:
중요 사항: 이 작업에 대한 WMI의 성능은 최적이 아닐 수도 있습니다. 고성능 시나리오의 경우 대체 방법을 모색해야 합니다.
위 내용은 .NET에서 종료된 프로세스의 마지막 실행 시간을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!