Guest User

Untitled

a guest
Jun 24th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. Imports System.Management
  2.  
  3. Public Class Form1
  4.  
  5. Dim WithEvents ProcessStartWatcher As New ManagementEventWatcher(New WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"))
  6. Dim WithEvents ProcessStopWatcher As New ManagementEventWatcher(New WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace"))
  7.  
  8. Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load
  9. ProcessStartWatcher.Start()
  10. ProcessStopWatcher.Start()
  11. End Sub
  12.  
  13. Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs)
  14. ProcessStartWatcher.Stop()
  15. ProcessStopWatcher.Stop()
  16. End Sub
  17.  
  18. Private Sub ProcessStartWatcher_EventArrived(sender As Object, e As System.Management.EventArrivedEventArgs) Handles ProcessStartWatcher.EventArrived
  19. Dim ProcessName As String = e.NewEvent.Properties("ProcessName").Value
  20. Dim PID As Integer = e.NewEvent.Properties["ID"].Value
  21.  
  22. MessageBox.Show(String.Format("Process ""{0}"" with ID {1} started.", ProcessName, PID))
  23. End Sub
  24.  
  25. Private Sub ProcessStopWatcher_EventArrived(sender As Object, e As System.Management.EventArrivedEventArgs) Handles ProcessStopWatcher.EventArrived
  26. Dim ProcessName As String = e.NewEvent.Properties("ProcessName").Value
  27. Dim PID As Integer = e.NewEvent.Properties["ID"].Value
  28.  
  29. MessageBox.Show(String.Format("Process ""{0}"" with ID {1} stopped.", ProcessName, PID))
  30. End Sub
  31. End Class
Add Comment
Please, Sign In to add comment