AniDBmini.MPCProcWatcher.m_mpcWatcher_EventArrived C# (CSharp) Method

m_mpcWatcher_EventArrived() private method

private m_mpcWatcher_EventArrived ( object sender, System.Management.EventArrivedEventArgs e ) : void
sender object
e System.Management.EventArrivedEventArgs
return void
        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);
            }
        }