private void m_mpcWatcher_EventArrived(object sender, EventArrivedEventArgs e)
{
string eType = e.NewEvent.ClassPath.ClassName;
UInt32 processID = (UInt32)(e.NewEvent["TargetInstance"] as ManagementBaseObject)["ProcessID"];
if (eType == "__InstanceCreationEvent")
{
ObjectQuery objQuery = new ObjectQuery(String.Format(@"SELECT * FROM Win32_Process WHERE ProcessID = '{0}'", processID));
using (ManagementObjectSearcher objSearcher = new ManagementObjectSearcher(objQuery))
using (ManagementObjectCollection objCollection = objSearcher.Get())
foreach (ManagementObject obj in objCollection)
OnMPCStarted(obj);
}
}