亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#通過WMI的wind32的API函數實現msinfo32的本地和遠程計算機的系統摘要信息查看功能

2019-11-14 13:31:34
字體:
來源:轉載
供稿:網友

最近做一個項目碰到要實現查看本地和遠程計算機的摘要信息,采用命令行msinfo32可以很快查看到,如下圖:

需要在用C#來實現類似信息查看。尤其遠程計算機的。。因此通過MSDN查詢到。win32的API函數豐富,我先放一個我實現好的功能圖

看看,如下圖:

看上去是不是好像還可以。如何做到呢。下面繼續請看實現的方式和源碼

首先,你必須知道這個應用程序的功能是使用System.Management這個類得到的,using System.Management;

需要引用的DLL:System.Management.Automation.dll  

下面是經常用的一些win32 的key

// 硬件 
Win32_PRocessor, // CPU 處理器
Win32_PhysicalMemory, // 物理內存條
Win32_Keyboard, // 鍵盤
Win32_PointingDevice, // 點輸入設備,包括鼠標。
Win32_FloppyDrive, // 軟盤驅動器
Win32_DiskDrive, // 硬盤驅動器
Win32_CDROMDrive, // 光盤驅動器
Win32_BaseBoard, // 主板
Win32_BIOS, // BIOS 芯片
Win32_ParallelPort, // 并口
Win32_SerialPort, // 串口
Win32_SerialPortConfiguration, // 串口配置
Win32_SoundDevice, // 多媒體設置,一般指聲卡。
Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP)
Win32_USBController, // USB 控制器
Win32_NetworkAdapter, // 網絡適配器
Win32_NetworkAdapterConfiguration, // 網絡適配器設置
Win32_Printer, // 打印機
Win32_PrinterConfiguration, // 打印機設置
Win32_PrintJob, // 打印機任務
Win32_TCPipPrinterPort, // 打印機端口
Win32_POTSModem, // MODEM
Win32_POTSModemToSerialPort, // MODEM 端口
Win32_DesktopMonitor, // 顯示器
Win32_DisplayConfiguration, // 顯卡
Win32_DisplayControllerConfiguration, // 顯卡設置
Win32_VideoController, // 顯卡細節。
Win32_VideoSettings, // 顯卡支持的顯示模式。

// 操作系統
Win32_TimeZone, // 時區
Win32_SystemDriver, // 驅動程序
Win32_DiskPartition, // 磁盤分區
Win32_LogicalDisk, // 邏輯磁盤
Win32_LogicalDiskToPartition, // 邏輯磁盤所在分區及始末位置。
Win32_LogicalMemoryConfiguration, // 邏輯內存配置
Win32_PageFile, // 系統頁文件信息
Win32_PageFileSetting, // 頁文件設置
Win32_BootConfiguration, // 系統啟動配置
Win32_ComputerSystem, // 計算機信息簡要
Win32_OperatingSystem, // 操作系統信息
Win32_StartupCommand, // 系統自動啟動程序
Win32_Service, // 系統安裝的服務
Win32_Group, // 系統管理組
Win32_GroupUser, // 系統組帳號
Win32_UserAccount, // 用戶帳號
Win32_Process, // 系統進程
Win32_Thread, // 系統線程
Win32_Share, // 共享
Win32_NetworkClient, // 已安裝的網絡客戶端
Win32_NetworkProtocol, // 已安裝的網絡協議

既然有了這些資料。我們就可以開始動手編碼了。附帶代碼
1、實體類

using System;using System.Collections.Generic;using System.Linq;using System.Text;//***************BIOSnamespace GetDNSListTool{   public class BIOSInfoEntity   {        //BIOS版本        private string strBIOSVersion = string.Empty;        /// <summary>        /// BIOS版本        /// </summary>        public string BIOSVersion        {            get { return strBIOSVersion; }            set { strBIOSVersion = value; }        }        //日期        private string strBIOSReleaseDate = string.Empty;        /// <summary>        /// 日期        /// </summary>        public string BIOSReleaseDate        {            get { return strBIOSReleaseDate; }            set { strBIOSReleaseDate = value; }        }        //SMBIOS        private string strSMBIOS = string.Empty;        /// <summary>        /// SMBIOS        /// </summary>        public string SMBIOS        {            get { return strSMBIOS; }            set { strSMBIOS = value; }        }    }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;//*****************計算機系統信息namespace GetDNSListTool{    public class ComputerInfoEntity    {        //系統名稱:Name        private string strName = string.Empty;        /// <summary>        /// 系統名稱        /// </summary>        public string ComputerSystemName        {            get { return strName; }            set { strName = value; }        }        //系統制造商:Manufacturer        private string strManufacturer = string.Empty;        /// <summary>        /// 系統制造商        /// </summary>        public string ComputerManufacturer        {            get { return strManufacturer; }            set { strManufacturer = value; }        }                //系統模式:Model        private string strModel = string.Empty;        /// <summary>        /// 系統模式        /// </summary>        public string ComputerSystemModel        {            get { return strModel; }            set { strModel = value; }        }              //系統類型:SystemType        private string strType = string.Empty;        /// <summary>        /// 系統類型        /// </summary>        public string ComputerSystemType        {            get { return strType; }            set { strType = value; }        }    }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;//***************cpu信息namespace GetDNSListTool{    public class CPUInfoEntity    {        #region 屬性        #region CPU名稱        string strCPUName = string.Empty;        /// <summary>        /// CPU名稱        /// </summary>        public string CPUName        {            get { return strCPUName; }            set { strCPUName = value; }        }        #endregion        #region CPU序列號        string strCPUID = string.Empty;        /// <summary>        /// CPU序列號        /// </summary>        public string CPUID        {            get { return strCPUID; }            set { strCPUID = value; }        }        #endregion        #region CPU個數        int nCPUCount = 0;        /// <summary>        /// CPU個數        /// </summary>        public int CPUCount        {            get { return nCPUCount; }            set { nCPUCount = value; }        }        #endregion        #region CPU制造商        string strCPUManufacturer = string.Empty;        /// <summary>        /// CPU制造商        /// </summary>        public string CPUManufacturer        {            get { return strCPUManufacturer; }            set { strCPUManufacturer = value; }        }        #endregion        #region 當前時鐘頻率        string strCPUCurrentClockSpeed = string.Empty;        /// <summary>        /// 當前時鐘頻率        /// </summary>        public string CPUCurrentClockSpeed        {            get { return strCPUCurrentClockSpeed; }            set { strCPUCurrentClockSpeed = value; }        }        #endregion        #region 最大時鐘頻率        string strCPUMaxClockSpeed = string.Empty;        /// <summary>        /// 最大時鐘頻率        /// </summary>        public string CPUMaxClockSpeed        {            get { return strCPUMaxClockSpeed; }            set { strCPUMaxClockSpeed = value; }        }        #endregion        #region 外部頻率        string strCPUExtClock = string.Empty;        /// <summary>        /// 外部頻率        /// </summary>        public string CPUExtClock        {            get { return strCPUExtClock; }            set { strCPUExtClock = value; }        }        #endregion        #region 當前電壓        string strCPUCurrentVoltage = string.Empty;        /// <summary>        /// 當前電壓        /// </summary>        public string CPUCurrentVoltage        {            get { return strCPUCurrentVoltage; }            set { strCPUCurrentVoltage = value; }        }        #endregion        #region 二級緩存        string strCPUL2CacheSize = string.Empty;        /// <summary>        /// 二級緩存        /// </summary>        public string CPUL2CacheSize        {            get { return strCPUL2CacheSize; }            set { strCPUL2CacheSize = value; }        }        #endregion        #region 數據帶寬        string strCPUDataWidth = string.Empty;        /// <summary>        /// 數據帶寬        /// </summary>        public string CPUDataWidth        {            get { return strCPUDataWidth; }            set { strCPUDataWidth = value; }        }        #endregion        #region 地址帶寬        string strCPUAddressWidth = string.Empty;        /// <summary>        /// 地址帶寬        /// </summary>        public string CPUAddressWidth        {            get { return strCPUAddressWidth; }            set { strCPUAddressWidth = value; }        }        #endregion        #region 使用百分比        float fCPUUsedPercent;        /// <summary>        /// 使用百分比        /// </summary>        public float CPUUsedPercent        {            get { return fCPUUsedPercent; }            set { fCPUUsedPercent = value; }        }        #endregion        #region CPU溫度        double strCPUTemperature;        /// <summary>        /// CPU溫度        /// </summary>        public double CPUTemperature        {            get { return strCPUTemperature; }            set { strCPUTemperature = value; }        }        #endregion        #region CPU內核        string strNumberOfCores ="";        /// <summary>        /// CPU內核        /// </summary>        public string CPUNumberOfCores        {            get { return strNumberOfCores; }            set { strNumberOfCores = value; }        }        #endregion        #region CPU邏輯處理器        string strNumberOfLogicalProcessors = "";        /// <summary>        /// CPU邏輯處理器        /// </summary>        public string CPUNumberOfLogicalProcessors        {            get { return strNumberOfLogicalProcessors; }            set { strNumberOfLogicalProcessors = value; }        }        #endregion                #endregion    }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;//*********************內存信息namespace GetDNSListTool{    public class MemoryInfoEntity    {        #region 總的物理內存        string strTotalVisibleMemorySize = string.Empty;  //總的物理內存        public string TotalVisibleMemorySize        {            get { return strTotalVisibleMemorySize; }            set { strTotalVisibleMemorySize = value; }        }        #endregion        #region 可用物理內存        string strFreePhysicalMemory = string.Empty;  //可用物理內存        public string FreePhysicalMemory        {            get { return strFreePhysicalMemory; }            set { strFreePhysicalMemory = value; }        }        #endregion        #region 總的虛擬內存        string strTotalVirtualMemorySize = string.Empty;  //總的虛擬內存        public string TotalVirtualMemorySize        {            get { return strTotalVirtualMemorySize; }            set { strTotalVirtualMemorySize = value; }        }        #endregion        #region 可用虛擬內存        string strFreeVirtualMemory = string.Empty;  //可用虛擬內存        public string FreeVirtualMemory        {            get { return strFreeVirtualMemory; }            set { strFreeVirtualMemory = value; }        }        #endregion        #region 頁面文件大小        string strSizeStoredInPagingFiles = string.Empty;  //頁面文件大小        public string SizeStoredInPagingFiles        {            get { return strSizeStoredInPagingFiles; }            set { strSizeStoredInPagingFiles = value; }        }        #endregion        #region 可用頁面文件大小        string strFreeSpaceInPagingFiles = string.Empty;        public string FreeSpaceInPagingFiles        {            get { return strFreeSpaceInPagingFiles; }            set { strFreeSpaceInPagingFiles = value; }        }        #endregion    }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;//*****************系統信息namespace GetDNSListTool{    public class SystemInfoEntity    {        #region 屬性        #region OS名稱        string strOSName = string.Empty;  //OS名稱        /// <summary>        /// OS名稱        /// </summary>        public string OSName        {            get { return strOSName; }            set { strOSName = value; }        }        #endregion        #region OS版本        string strOSVersion = string.Empty;  //OS版本        /// <summary>        /// OS版本        /// </summary>        public string OSVersion        {            get { return strOSVersion; }            set { strOSVersion = value; }        }        #endregion        #region OS制造商        string strOSManufacturer = string.Empty;  //OS制造商        /// <summary>        /// OS制造商        /// </summary>        public string OSManufacturer        {            get { return strOSManufacturer; }            set { strOSManufacturer = value; }        }        #endregion        #region SP包版本        /// <summary>        /// SP包版本        /// </summary>        string strOSCSDVersion = string.Empty;        public string OSCSDVersion        {            get { return strOSCSDVersion; }            set { strOSCSDVersion = value; }        }        #endregion        #region //Build版本        string str0SBuildNumber= string.Empty;        public string OSBuildNumber        {            get { return str0SBuildNumber; }            set { str0SBuildNumber = value; }        }        #endregion        #region Windows 目錄        string strWindowsDirectory = string.Empty;        /// <summary>        /// Windows 目錄        /// </summary>        public string WindowsDirectory        {            get { return strWindowsDirectory; }            set { strWindowsDirectory = value; }        }        #endregion        #region 系統目錄        string strSystemDirectory = string.Empty;  //系統目錄        /// <summary>        /// 系統目錄        /// </summary>        public string SystemDirectory        {            get { return strSystemDirectory; }            set { strSystemDirectory = value; }        }        #endregion        #region 啟動設備        string strBootDevice = string.Empty;  //啟動設備        /// <summary>        /// //啟動設備        /// </summary>        public string BootDevice        {            get { return strBootDevice; }            set { strBootDevice = value; }        }        #endregion        #region 地區        string strCountry = string.Empty;  //地區        /// <summary>        /// 地區        /// </summary>        public string Country        {            get { return strCountry; }            set { strCountry = value; }        }        #endregion        #region 時區        string strTimeZone = string.Empty;  //時區        /// <summary>        /// 時區        /// </summary>        public string TimeZone        {            get { return strTimeZone; }            set { strTimeZone = value; }        }        #endregion        #region 總的物理內存        string strTotalVisibleMemorySize = string.Empty;  //總的物理內存        /// <summary>        /// 總的物理內存        /// </summary>        public string TotalVisibleMemorySize        {            get { return strTotalVisibleMemorySize; }            set { strTotalVisibleMemorySize = value; }        }        #endregion        #region 可用物理內存        string strFreePhysicalMemory = string.Empty;  //可用物理內存        /// <summary>        /// 可用物理內存        /// </summary>        public string FreePhysicalMemory        {            get { return strFreePhysicalMemory; }            set { strFreePhysicalMemory = value; }        }        #endregion        #region 總的虛擬內存        string strTotalVirtualMemorySize = string.Empty;  //總的虛擬內存        /// <summary>        /// 總的虛擬內存        /// </summary>        public string TotalVirtualMemorySize        {            get { return strTotalVirtualMemorySize; }            set { strTotalVirtualMemorySize = value; }        }        #endregion        #region 可用虛擬內存        string strFreeVirtualMemory = string.Empty;  //可用虛擬內存        /// <summary>        /// 可用虛擬內存        /// </summary>        public string FreeVirtualMemory        {            get { return strFreeVirtualMemory; }            set { strFreeVirtualMemory = value; }        }        #endregion        #region 頁面文件大小        string strSizeStoredInPagingFiles = string.Empty;  //頁面文件大小        /// <summary>        /// 頁面文件大小        /// </summary>        public string SizeStoredInPagingFiles        {            get { return strSizeStoredInPagingFiles; }            set { strSizeStoredInPagingFiles = value; }        }        #endregion        #region 可用頁面文件大小        string strFreeSpaceInPagingFiles = string.Empty;        /// <summary>        /// 可用頁面文件大小        /// </summary>        public string FreeSpaceInPagingFiles        {            get { return strFreeSpaceInPagingFiles; }            set { strFreeSpaceInPagingFiles = value; }        }        #endregion        #region 頁面文件大小        string strFileSize = string.Empty;        /// <summary>        /// 頁面文件大小        /// </summary>        public string FileSize        {            get { return strFileSize; }            set { strFileSize = value; }        }        #endregion        #region 頁面文件        string strFileName = string.Empty;        /// <summary>        /// 頁面文件大小        /// </summary>        public string FileName        {            get { return strFileName; }            set { strFileName = value; }        }        #endregion        #endregion    }}

2、核心實現類

#region//獲取CPU參數       /// <summary>       /// 獲取CPU參數       /// </summary>       /// <returns></returns>       public List<CPUInfoEntity> GetCPUInfo()       {           //返回值           List<CPUInfoEntity> cpuInfoList = new List<CPUInfoEntity>();                      try           {               //               ManagementObjectCollection moCollection = null;               //如果是本地               if (isLocal)               {                   ManagementClass mClass = new ManagementClass("Win32_Processor");                   //獲取Win32_Processor這個類的所有實例                   moCollection = mClass.GetInstances();               }               //表示遠程               else               {                   //設定通過WMI要查詢的內容                   ObjectQuery Query = new ObjectQuery("select * from Win32_Processor");                   //WQL語句,設定的WMI查詢內容和WMI的操作范圍,檢索WMI對象集合                   ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Ms, Query);                   //異步調用WMI查詢                   moCollection = Searcher.Get();               }               //循環               if (moCollection != null)               {                   //foreach,cpu可能有多個                                      foreach (ManagementObject mObject in moCollection)                   {                       CPUInfoEntity cpuInfo = new CPUInfoEntity();                       cpuInfo.CPUCount = moCollection.Count;                       cpuInfo.CPUName = mObject["Name"].ToString(); //獲取CPU名稱                       cpuInfo.CPUID = mObject["ProcessorId"].ToString(); //獲取 CPU ID                       cpuInfo.CPUManufacturer = mObject["Manufacturer"].ToString(); //獲取CPU制造商                       cpuInfo.CPUCurrentClockSpeed = mObject["CurrentClockSpeed"].ToString(); //獲取當前時鐘頻率                       cpuInfo.CPUMaxClockSpeed = mObject["MaxClockSpeed"]==null?string.Empty:                           mObject["MaxClockSpeed"].ToString(); //獲取最大時鐘頻率                       cpuInfo.CPUExtClock = mObject["ExtClock"]==null?string.Empty:                           mObject["ExtClock"].ToString(); //獲取外部頻率                       cpuInfo.CPUCurrentVoltage = mObject["CurrentVoltage"]==null?string.Empty:                           mObject["CurrentVoltage"].ToString(); //獲取當前電壓                       cpuInfo.CPUL2CacheSize =mObject["L2CacheSize"]==null?string.Empty:                           mObject["L2CacheSize"].ToString(); //獲取二級緩存                       cpuInfo.CPUDataWidth =mObject["DataWidth"]==null?string.Empty:                           mObject["DataWidth"].ToString(); //獲取數據帶寬                       cpuInfo.CPUAddressWidth =mObject["AddressWidth"]==null?string.Empty:                           mObject["AddressWidth"].ToString(); //獲取地址帶寬                       cpuInfo.CPUNumberOfCores = mObject["NumberOfCores"]==null?string.Empty:                           mObject["NumberOfCores"].ToString(); //內核                       cpuInfo.CPUNumberOfLogicalProcessors = mObject["NumberOfLogicalProcessors"]==null?string.Empty:                           mObject["NumberOfLogicalProcessors"].ToString();    //邏輯處理器                       cpuInfo.CPUUsedPercent =mObject["LoadPercentage"]==null?0: float.Parse(mObject["LoadPercentage"].ToString());                       //加入進去                       cpuInfoList.Add(cpuInfo);                       //                                          }               }           }           catch(Exception ex)           {               throw ex;           }           //           return cpuInfoList;       }       #endregion       #region//獲取操作系統參數       /// <summary>       /// 獲取操作系統參數       /// </summary>       /// <returns></returns>       public SystemInfoEntity GetSystemInfo()       {           //返回值           SystemInfoEntity systemInfoList = new SystemInfoEntity();           try           {               //               ManagementObjectCollection moCollection = null;               //如果是本地               if (isLocal)               {                   ManagementClass mClass = new ManagementClass("Win32_OperatingSystem");                   //獲取Win32_Processor這個類的所有實例                   moCollection = mClass.GetInstances();               }               //表示遠程               else               {                   //設定通過WMI要查詢的內容                   ObjectQuery Query = new ObjectQuery("select * from Win32_OperatingSystem");                   //WQL語句,設定的WMI查詢內容和WMI的操作范圍,檢索WMI對象集合                   ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Ms, Query);                   //異步調用WMI查詢                   moCollection = Searcher.Get();               }               //循環               if (moCollection != null)               {                   //foreach                   foreach (ManagementObject mObject in moCollection)                   {                       systemInfoList.OSName = mObject["Caption"].ToString();  //獲取OS 名稱                       systemInfoList.OSManufacturer = mObject["Manufacturer"].ToString();  //獲取 OS 制造商                       systemInfoList.Country = mObject["CountryCode"].ToString();  //地區                       systemInfoList.OSName = mObject["CSName"].ToString();  //獲取系統名稱                       systemInfoList.WindowsDirectory = mObject["WindowsDirectory"].ToString();  //獲取Windows 目錄                       systemInfoList.SystemDirectory = mObject["SystemDirectory"].ToString();  //獲取系統目錄                       systemInfoList.BootDevice = mObject["BootDevice"].ToString();  //獲取啟動設備                       systemInfoList.OSVersion = mObject["Version"].ToString();//獲取版本                       systemInfoList.OSCSDVersion = mObject["CSDVersion"].ToString();//獲取SP                       systemInfoList.OSBuildNumber = mObject["BuildNumber"].ToString();//獲取builderNumber                       systemInfoList.TotalVisibleMemorySize = ((ulong)mObject["TotalVisibleMemorySize"] / 1024.0 / 1024).ToString("#0.00") + "G";  //獲取總的物理內存                       systemInfoList.FreePhysicalMemory = ((ulong)mObject["FreePhysicalMemory"] / 1024.0 / 1024).ToString("#0.00") + "G";  //獲取可用物理內存                       systemInfoList.TotalVirtualMemorySize = ((ulong)mObject["TotalVirtualMemorySize"] / 1024.0 / 1024).ToString("#0.00") + "G";   //獲取總的虛擬內存                       systemInfoList.FreeVirtualMemory = ((ulong)mObject["FreeVirtualMemory"] / 1024.0 / 1024).ToString("#0.00") + "G";  //獲取可用虛擬內存                       systemInfoList.SizeStoredInPagingFiles = ((ulong)mObject["SizeStoredInPagingFiles"] / 1024.0 / 1024).ToString("#0.00") + "G";  //獲取頁面文件大小                   }               }           }           catch (Exception ex)           {               throw ex;           }           //           return systemInfoList;       }       #endregion       #region//獲取時間區域       /// <summary>       /// 獲取時間區域       /// </summary>       /// <returns></returns>       public SystemInfoEntity GetTimeZoneInfo()       {           //返回值           SystemInfoEntity systemInfoList = new SystemInfoEntity();           try           {               //               ManagementObjectCollection moCollection = null;               //如果是本地               if (isLocal)               {                   ManagementClass mClass = new ManagementClass("Win32_TimeZone");                   //獲取Win32_Processor這個類的所有實例                   moCollection = mClass.GetInstances();               }               //表示遠程               else               {                   //設定通過WMI要查詢的內容                   ObjectQuery Query = new ObjectQuery("select * from Win32_TimeZone");                   //WQL語句,設定的WMI查詢內容和WMI的操作范圍,檢索WMI對象集合                   ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Ms, Query);                   //異步調用WMI查詢                   moCollection = Searcher.Get();               }               //循環               if (moCollection != null)               {                   //foreach                   foreach (ManagementObject mObject in moCollection)                   {                       systemInfoList.OSName = mObject["StandardName"].ToString();  //時區                                       }               }           }           catch (Exception ex)           {               throw ex;           }           //           return systemInfoList;       }       #endregion       #region//獲取頁面文件       /// <summary>       /// 獲取頁面文件       /// </summary>       /// <returns></returns>       public SystemInfoEntity GetPageFileInfo()       {           //返回值           SystemInfoEntity systemInfoList = new SystemInfoEntity();           try           {               //               ManagementObjectCollection moCollection = null;               //如果是本地               if (isLocal)               {                   ManagementClass mClass = new ManagementClass("Win32_PageFile");                   //獲取Win32_Processor這個類的所有實例                   moCollection = mClass.GetInstances();               }               //表示遠程               else               {                   //設定通過WMI要查詢的內容                   ObjectQuery Query = new ObjectQuery("select * from Win32_PageFile");                   //WQL語句,設定的WMI查詢內容和WMI的操作范圍,檢索WMI對象集合                   ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Ms, Query);                   //異步調用WMI查詢                   moCollection = Searcher.Get();               }               //循環               if (moCollection != null)               {                   //foreach                   foreach (ManagementObject mObject in moCollection)                   {                       long FileSize = mObject["FileSize"] == null ?                           0 : long.Parse(mObject["FileSize"].ToString());//頁面文件大小                       //計算                       systemInfoList.FileSize = (FileSize / 1024 / 1024 ).ToString("#0.00") + "G";                       systemInfoList.FileName = mObject["Name"].ToString();  //頁面文件                   }               }           }           catch (Exception ex)           {               throw ex;           }           //           return systemInfoList;       }       #endregion       #region//獲取BIOS信息       /// <summary>       /// 獲取BIOS信息       /// </summary>       /// <returns></returns>       public BIOSInfoEntity GetBIOSInfo()       {           //返回值           BIOSInfoEntity BIOSInfoList = new BIOSInfoEntity();           try           {               //               ManagementObjectCollection moCollection = null;               //如果是本地               if (isLocal)               {                   ManagementClass mClass = new ManagementClass("Win32_BIOS");                   //獲取Win32_Processor這個類的所有實例                   moCollection = mClass.GetInstances();               }               //表示遠程               else               {                   //設定通過WMI要查詢的內容                   ObjectQuery Query = new ObjectQuery("select * from Win32_BIOS");                   //WQL語句,設定的WMI查詢內容和WMI的操作范圍,檢索WMI對象集合                   ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Ms, Query);                   //異步調用WMI查詢                   moCollection = Searcher.Get();               }               //循環               if (moCollection != null)               {                   //foreach                   foreach (ManagementObject mObject in moCollection)                   {                       BIOSInfoList.BIOSReleaseDate = mObject["ReleaseDate"] ==null?string.Empty:                          getDateTimeFromDmtfDate(mObject["ReleaseDate"].ToString());  //時間                       BIOSInfoList.BIOSVersion = mObject["Manufacturer"].ToString();  //Manufacturer                       BIOSInfoList.SMBIOS = mObject["SMBIOSBIOSVersion"].ToString();  //SMBIOSBIOSVersion                   }               }           }           catch (Exception ex)           {               throw ex;           }           //           return BIOSInfoList;       }       #endregion       #region//獲取計算機信息       /// <summary>       /// 獲取計算機信息       /// </summary>       /// <returns></returns>       public ComputerInfoEntity  GetComputerInfo()       {           //返回值           ComputerInfoEntity ComputerInfoList = new ComputerInfoEntity();           try           {               //               ManagementObjectCollection moCollection = null;               //如果是本地               if (isLocal)               {                   ManagementClass mClass = new ManagementClass("Win32_ComputerSystem");                   //獲取Win32_Processor這個類的所有實例                   moCollection = mClass.GetInstances();               }               //表示遠程               else               {                   //設定通過WMI要查詢的內容                   ObjectQuery Query = new ObjectQuery("select * from Win32_ComputerSystem");                   //WQL語句,設定的WMI查詢內容和WMI的操作范圍,檢索WMI對象集合                   ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Ms, Query);                   //異步調用WMI查詢                   moCollection = Searcher.Get();               }               //循環               if (moCollection != null)               {                   //foreach                   foreach (ManagementObject mObject in moCollection)                   {                       ComputerInfoList.ComputerSystemName = mObject["Name"].ToString();//系統名稱                       ComputerInfoList.ComputerManufacturer = mObject["Manufacturer"].ToString();//系統制造商                       ComputerInfoList.ComputerSystemModel = mObject["Model"].ToString();//系統模式                       ComputerInfoList.ComputerSystemType = mObject["SystemType"].ToString();//系統類型                                         }               }           }           catch (Exception ex)           {               throw ex;           }           //           return ComputerInfoList;       }       #endregion

通過UI界面進行調用即可完成。看上去是不是很簡單的。其實真的很簡單。。當然要注意點。連接遠程計算機代碼核心部分如下

 /// <summary>       /// 遠程計算機構造函數       /// </summary>       /// <param name="hostName">遠程計算機名稱</param>       /// <param name="userName">>遠程計算機用戶名</param>       /// <param name="passWd">>遠程計算機密碼</param>       public WMI32BLL(string hostName,string userName,string passWd)       {           try           {               //表示遠程               isLocal = false;               //創建遠程連接               //設定生成的WMI所需的所有設置               Conn = new ConnectionOptions();               //設定用于WMI連接操作的用戶名               Conn.Username = userName;               //設定用戶的口令               Conn.PassWord = passWd;               //設定用于執行WMI操作的范圍               Ms = new ManagementScope("////" + hostName + "//root//cimv2", Conn);               //連接到實際操作的WMI范圍               Ms.Connect();                          }           catch(Exception ex)           {               throw ex;           }       }

 

 好了,大功告成。效果圖在前面大家看過了。這里不再貼圖了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩亚洲欧美成人| 亚洲精品一二区| 国产一区av在线| 热久久免费国产视频| 成人做爰www免费看视频网站| 久久精品成人动漫| 国产成人亚洲综合青青| 久久这里有精品视频| 日本欧美一级片| 国产精品久久久久av免费| 日韩精品视频免费| 91免费国产网站| 日韩精品免费看| 久久久久久午夜| 亚洲欧洲成视频免费观看| 欧美一区二粉嫩精品国产一线天| 久热精品视频在线免费观看| 久久天天躁狠狠躁夜夜躁| 中文字幕精品www乱入免费视频| 国产精品h片在线播放| 欧美亚洲国产精品| 亚洲va久久久噜噜噜久久天堂| 成人欧美在线观看| 国产精品夜色7777狼人| 黄色成人在线播放| 亚洲男人的天堂在线| 超碰日本道色综合久久综合| 日韩欧美国产网站| 欧美综合国产精品久久丁香| 一区二区三区回区在观看免费视频| 国产精品电影久久久久电影网| 日韩视频免费观看| 亚洲资源在线看| 精品高清美女精品国产区| 美女999久久久精品视频| 久久久精品视频在线观看| 久久久久久中文| 亚洲精品www久久久久久广东| 欧美福利视频网站| 7777kkkk成人观看| 久久久久国产精品www| 九九久久国产精品| 国产精品欧美日韩久久| 成人h片在线播放免费网站| 日韩国产激情在线| 欧美一区三区三区高中清蜜桃| 国内外成人免费激情在线视频| 性欧美亚洲xxxx乳在线观看| 精品成人国产在线观看男人呻吟| 国产成人鲁鲁免费视频a| 成人黄色av网| 96pao国产成视频永久免费| 亚洲欧美在线免费| 久久欧美在线电影| 国产精品视频免费观看www| 久久精品一本久久99精品| 精品久久久久久久久国产字幕| 亚洲欧美视频在线| 久久久亚洲网站| 国产视频在线观看一区二区| 在线播放日韩精品| 国产精彩精品视频| 成人免费网视频| 亚洲娇小xxxx欧美娇小| 国产精品美女免费看| 91av在线视频观看| 欧美精品电影免费在线观看| 97在线观看视频国产| 欧美在线观看日本一区| 日韩中文字幕免费| 久久久噜噜噜久久久| 欧美电影在线免费观看网站| 成人精品在线视频| 日韩成人av网址| 亚洲精品国产品国语在线| 久久最新资源网| 永久555www成人免费| 欧美日韩激情网| 在线视频欧美日韩精品| 色偷偷888欧美精品久久久| 国产美女精品免费电影| 亚洲精品一区在线观看香蕉| 国产综合久久久久久| 久久久免费观看| 国产精品日韩精品| 另类视频在线观看| 精品亚洲一区二区| 日韩欧美国产成人| 精品视频中文字幕| 51久久精品夜色国产麻豆| 中文字幕日韩在线播放| 亚洲午夜未满十八勿入免费观看全集| 国产精品爱啪在线线免费观看| 麻豆精品精华液| 欧美日韩中文字幕在线| 日韩小视频在线| 人体精品一二三区| 亚洲一区二区三区视频| 欧美亚洲国产精品| 亚洲色图狂野欧美| 亚洲精品mp4| 26uuu日韩精品一区二区| 国模视频一区二区| 精品视频9999| 清纯唯美日韩制服另类| 亚洲女性裸体视频| 久久久久久91香蕉国产| 久久99精品久久久久久噜噜| 国产日韩精品在线| 日韩免费黄色av| 日韩中文字幕视频在线| 成人黄色av免费在线观看| 国产精品久久久久久av福利| 黑丝美女久久久| 欧美裸体xxxx极品少妇软件| 国产成人拍精品视频午夜网站| 91久久久久久久久久| 精品久久久久久久久久久久| 蜜月aⅴ免费一区二区三区| 日韩成人在线播放| 日韩免费在线观看视频| 国产成人精品a视频一区www| 国产精品久久久久久久久久东京| 欧美成人激情图片网| 欧美日韩在线视频首页| 68精品国产免费久久久久久婷婷| 91av在线视频观看| 亚洲国产精品人人爽夜夜爽| 亚洲第一色中文字幕| 亚洲视频一区二区三区| 成人福利网站在线观看| 欧美日韩精品二区| 国产精品久久久久久久久久99| 国产成人精品久久亚洲高清不卡| 国产欧美精品久久久| 欧美日韩国产限制| 成人午夜激情免费视频| 欧美日韩一区免费| 亚洲精品美女在线观看播放| 成人妇女淫片aaaa视频| 日韩欧美在线视频免费观看| 第一福利永久视频精品| 国产一区二区三区在线免费观看| 日韩在线视频线视频免费网站| 成人福利在线观看| 国产一区在线播放| 久久6精品影院| 欧美激情在线有限公司| 国产成人精品免费视频| 欧美电影免费在线观看| 欧美另类69精品久久久久9999| 日韩av第一页| 久久人人爽人人爽人人片av高清| 777777777亚洲妇女| 国产主播欧美精品| 成人h片在线播放免费网站| 国产美女被下药99| 国产精品久久久久av免费| 这里只有精品在线播放| 亚洲成av人影院在线观看| 91色精品视频在线| 欧美福利视频在线观看| 日韩精品在线第一页| 亚洲综合视频1区|