我希望只要创建某个新的外部进程,我的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
对象?
我想知道的是,如果创建的流程为“已暂停”,此方法是否也会发送事件?
或者我必须使用其他查询
谢谢大家