예제 #1
0
        private void Watcher_EventArrived(object sender, EventArrivedEventArgs e)
        {
            object obj = HelperFuncs.getSearchObjects(e.NewEvent, _type);

            WMIEventArrived(this, new WMIEventArgs {
                Object = obj
            });
        }
예제 #2
0
파일: WMISearcher.cs 프로젝트: Styxer/Kexla
        /// <summary>
        /// Runs a query against WMI. It will return all instances of the class corresponding to the WMI class set on the Type on IEnumerable.
        /// </summary>
        /// <typeparam name="T">The Type of IEnumerable that will be returned</typeparam>
        /// <returns></returns>
        public IEnumerable <T> Query <T>(string searchQuery = "")
        {
            searchQuery = String.IsNullOrEmpty(searchQuery) ? HelperFuncs.BuildQuery <T>() : searchQuery;


            using (var searcher = new ManagementObjectSearcher(Scope, new ObjectQuery(searchQuery)))
            {
                using (var searcherData = searcher.Get())
                {
                    foreach (ManagementObject obj in searcherData)
                    {
                        yield return((T)HelperFuncs.getSearchObjects(obj, typeof(T)));
                    }
                }
            }
        }