Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.56 KB | None | 0 0
  1. using System;
  2. using System.Management;
  3. using System.Windows.Forms;
  4.  
  5. namespace ProcessWatcher
  6. {
  7.     public partial class ProcessWatch : Form
  8.     {
  9.         ManagementEventWatcher processStartEvent = new ManagementEventWatcher("SELECT * FROM Win32_ProcessStartTrace");
  10.         ManagementEventWatcher processStopEvent = new ManagementEventWatcher("SELECT * FROM Win32_ProcessStopTrace");
  11.  
  12.         public ProcessWatch()
  13.         {
  14.             InitializeComponent();
  15.  
  16.             processStartEvent.EventArrived += new EventArrivedEventHandler(processStartEvent_EventArrived);
  17.             processStartEvent.Start();
  18.             processStopEvent.EventArrived += new EventArrivedEventHandler(processStopEvent_EventArrived);
  19.             processStopEvent.Start();
  20.         }
  21.  
  22.         void processStartEvent_EventArrived(object sender, EventArrivedEventArgs e)
  23.         {
  24.             string processName = e.NewEvent.Properties["ProcessName"].Value.ToString();
  25.             string processID = Convert.ToInt32(e.NewEvent.Properties["ProcessID"].Value).ToString();
  26.  
  27.             Console.WriteLine("Process started. Name: " +processName + " | ID: " + processID);
  28.         }
  29.  
  30.         void processStopEvent_EventArrived(object sender, EventArrivedEventArgs e)
  31.         {
  32.             string processName = e.NewEvent.Properties["ProcessName"].Value.ToString();
  33.             string processID = Convert.ToInt32(e.NewEvent.Properties["ProcessID"].Value).ToString();
  34.  
  35.             Console.WriteLine("Process stopped. Name: " + processName + " | ID: " + processID);
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement