.NET은 WMI(Windows Management Instrumentation)를 사용하여 프로세스 수명 주기 이벤트를 추적하는 강력한 방법을 제공합니다. 이 접근 방식은 특정 프로세스의 마지막 실행 시간을 결정하는 데 특히 유용합니다.
Win32_ProcessTrace
클래스를 활용하면 프로세스 시작 및 중지를 효과적으로 모니터링할 수 있습니다. 다음 코드는 이를 달성하는 방법을 보여줍니다.
<code class="language-csharp">using System; using System.Management; public class ProcessTracker { public static void Main() { // Initialize event watchers for process start and stop events. ManagementEventWatcher startWatcher = new ManagementEventWatcher( new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace")); startWatcher.EventArrived += startWatcher_EventArrived; startWatcher.Start(); ManagementEventWatcher stopWatcher = new ManagementEventWatcher( new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace")); stopWatcher.EventArrived += stopWatcher_EventArrived; stopWatcher.Start(); // Await user input to terminate the application. Console.WriteLine("Press any key to exit."); while (!Console.KeyAvailable) System.Threading.Thread.Sleep(50); // Stop event watchers upon application closure. startWatcher.Stop(); stopWatcher.Stop(); } private static void stopWatcher_EventArrived(object sender, EventArrivedEventArgs e) { // Process stop event handler; logs the process name. Console.WriteLine("Process stopped: {0}", e.NewEvent.Properties["ProcessName"].Value); } private static void startWatcher_EventArrived(object sender, EventArrivedEventArgs e) { // Process start event handler; logs the process name. Console.WriteLine("Process started: {0}", e.NewEvent.Properties["ProcessName"].Value); } }</code>
기억: 이 애플리케이션에는 높은 권한이 필요합니다. 이에 따라 애플리케이션 매니페스트를 수정합니다. 이 코드는 프로세스 시작 및 중지 이벤트를 추적하기 위한 강력한 솔루션을 제공하여 특정 프로세스의 마지막 실행 시간을 정확하게 식별할 수 있습니다.
위 내용은 .NET 및 WMI를 사용하여 프로세스 시작 및 중지 이벤트를 추적하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!