> 백엔드 개발 > C++ > .NET 및 WMI를 사용하여 프로세스 시작 및 중지 이벤트를 추적하려면 어떻게 해야 합니까?

.NET 및 WMI를 사용하여 프로세스 시작 및 중지 이벤트를 추적하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2025-01-21 00:26:08
원래의
260명이 탐색했습니다.

How Can I Track Process Start and Stop Events Using .NET and WMI?

.NET 및 WMI를 사용한 프로세스 활동 모니터링

.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿