创建新进程的C#回调?

时间:2017-01-21 19:56:57

标签: c# wmi createprocess eventhandler managementeventwatcher

我希望只要创建某个新的外部进程,我的callbackMethod()就会运行。

我正在查看WMI apis,我已经阅读了某种程度上我可以在进程启动时附加事件处理程序。

我看过这个答案:Is there a System event when processes are created? 并创建了这段代码:

public static void setupMonitor()
{
    ManagementEventWatcher startWatch = new ManagementEventWatcher(new 
          WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"));
    startWatch.EventArrived += new EventArrivedEventHandler(callBack);
    startWatch.Start();
}

public static void callBack(object sender, EventArrivedEventArgs e)
{
    int id = Convert.ToInt32(e.NewEvent.Properties["ProcessID"].Value);        
    Process started = Process.GetProcessById(id);
}

如何获取新进程并将其分配给c#Process对象?

我想知道的是,如果创建的流程为“已暂停”,此方法是否也会发送事件?

或者我必须使用其他查询

谢谢大家

0 个答案:

没有答案