Example #1
0
        /// <summary>
        /// 读取 WMI 数据
        /// </summary>
        /// <param name="lpPara"></param>
        public static void ReadWMIObjectThreadProc(IntPtr lpPara)
        {
            String strWin32Class = Marshal.PtrToStringBSTR(lpPara);

            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM " + strWin32Class);
                foreach (ManagementObject mngObj in searcher.Get())
                {
                    WMIObjData wmiObjData = new WMIObjData();
                    try
                    {
                        wmiObjData.WMIObjName = mngObj["Name"].ToString();
                    }
                    catch
                    {
                        wmiObjData.WMIObjName = mngObj.ToString();mngObj.ToString();
                    }

                    if (mngObj.Properties.Count <= 0)
                    {
                        return;
                    }

                    List<WMIPropertyData> wmiPropertyDataLisy = new List<WMIPropertyData>();
                    foreach (PropertyData propertyData in mngObj.Properties)
                    {
                        WMIPropertyData wmiPropertyData = new WMIPropertyData();
                        wmiPropertyData.WMIPropertyDataName = propertyData.Name;
                        if (propertyData.Value != null && propertyData.Value.ToString() != "")
                        {
                            wmiPropertyData.WMIPropertyDataValue = propertyData.Value;
                        }
                        else
                        {
                            wmiPropertyData.WMIPropertyDataValue = "Null Data";
                        }

                        wmiPropertyDataLisy.Add(wmiPropertyData);
                    }

                    wmiObjData.WMIPropertyDataList = wmiPropertyDataLisy;

                    wmiObjDataList.Add(wmiObjData);
                }
            }
            catch (Exception ex)
            {

            }
        }
Example #2
0
        /// <summary>
        /// 读取 WMI 数据
        /// </summary>
        /// <param name="lpPara"></param>
        public static void ReadWMIObjectThreadProc(IntPtr lpPara)
        {
            String strWin32Class = Marshal.PtrToStringBSTR(lpPara);

            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM " + strWin32Class);
                foreach (ManagementObject mngObj in searcher.Get())
                {
                    WMIObjData wmiObjData = new WMIObjData();
                    try
                    {
                        wmiObjData.WMIObjName = mngObj["Name"].ToString();
                    }
                    catch
                    {
                        wmiObjData.WMIObjName = mngObj.ToString(); mngObj.ToString();
                    }

                    if (mngObj.Properties.Count <= 0)
                    {
                        return;
                    }

                    List <WMIPropertyData> wmiPropertyDataLisy = new List <WMIPropertyData>();
                    foreach (PropertyData propertyData in mngObj.Properties)
                    {
                        WMIPropertyData wmiPropertyData = new WMIPropertyData();
                        wmiPropertyData.WMIPropertyDataName = propertyData.Name;
                        if (propertyData.Value != null && propertyData.Value.ToString() != "")
                        {
                            wmiPropertyData.WMIPropertyDataValue = propertyData.Value;
                        }
                        else
                        {
                            wmiPropertyData.WMIPropertyDataValue = "Null Data";
                        }

                        wmiPropertyDataLisy.Add(wmiPropertyData);
                    }

                    wmiObjData.WMIPropertyDataList = wmiPropertyDataLisy;

                    wmiObjDataList.Add(wmiObjData);
                }
            }
            catch (Exception ex)
            {
            }
        }