c#获取系统性能方法与疑问(1)

说明:开发工具vs2008

壹、方法

想运用c#语言获取计算机相关性能数据,包括cpu信息、内存、硬盘、操作系统、网络、io情况和BIOS信息等数据。

根据需求设计了相关的类(下载),如下:

注:需引用 using System.Management;



/// <summary>
    /// 计算机信息类
    /// </summary>
    public class ComputerInfo
    {
        private List<CPUInfo> _cpuInfos;
        private Memory _memory;
        private List<Disk> _disks;
        private OperatingSystem _OperatingSystem;
        private ComputerSystem _ComputerSystem;
        private BIOS _BIOS;
        private List<Network> _Networks;
        private List<IO> _IOs;


        /// <summary>
        /// IO性能
        /// </summary>
        public List<IO> IOs
        {
            get { return _IOs; }
            set { _IOs = value; }
        }


        /// <summary>
        /// 内存信息
        /// </summary>
        public Memory Memory
        {
            get { return _memory; }
            set { _memory = value; }
        }
        /// <summary>
        /// CPU信息
        /// </summary>
        public List<CPUInfo> CPUInfos
        {
            get { return _cpuInfos; }
            set { _cpuInfos = value; }
        }
        public List<Disk> Disks
        {
            get { return _disks; }
            set { _disks = value; }
        }
        public OperatingSystem OperatingSystem
        {
            get { return _OperatingSystem; }
            set { _OperatingSystem = value; }
        }
        public ComputerSystem ComputerSystem
        {
            get { return _ComputerSystem; }
            set { _ComputerSystem = value; }
        }
        public BIOS BIOS
        {
            get { return _BIOS; }
            set { _BIOS = value; }
        }
        public List<Network> Networks
        {
            get { return _Networks; }
            set { _Networks = value; }
        }


        #region 显示相关
        /// <summary>
        /// 显示所有
        /// </summary>
        public string ShowAll()
        {
            string tmpStr = "//开始检测【"+ System.DateTime.Now.ToString()+"】/" + Environment.NewLine;
            tmpStr += ShowCPUInfo();
            tmpStr += ShowMemory();
            tmpStr += ShowDisk();
            tmpStr += ShowIO();
            tmpStr += "/检测结束【"+ System.DateTime.Now.ToString()+"】" + Environment.NewLine;
            return tmpStr;
        }
        /// <summary>
        /// 显示cpu信息
        /// </summary>
        /// <returns></returns>
        public string ShowCPUInfo()
        {
            string tmpStr = "===================================\r\n";
            tmpStr += "CPU信息\r\n";
            tmpStr += "===================================\r\n";
            foreach (CPUInfo tmp in CPUInfos)
            {
                //tmpStr += "-----------------------------------\r\n";
                tmpStr += string.Format("编号: {0}\r\n", tmp.DeviceID);
                //tmpStr += string.Format("CPU序列号: {0}\r\n", tmp.ProcessorId);
                //tmpStr += string.Format("Cpu状态: {0}\r\n", tmp.CpuStatus);
                tmpStr += string.Format("Cpu使用率: {0}%\r\n", tmp.LoadPercentage);
                tmpStr += string.Format("Cpu温度: {0}°C\r\n", tmp.Temperature);
                //tmpStr += string.Format("类别: {0}\r\n", tmp.Caption);
                //tmpStr += string.Format("名称: {0}\r\n", tmp.Name);
                //tmpStr += string.Format("描述: {0}\r\n", tmp.Description);
                //tmpStr += string.Format("寻址: {0}\r\n", tmp.AddressWidth);
                //tmpStr += string.Format("数据带宽: {0}\r\n", tmp.DataWidth);
                //tmpStr += string.Format("时钟频率: {0}\r\n", tmp.CurrentClockSpeed);
                //tmpStr += string.Format("最高时钟频率: {0}\r\n", tmp.MaxClockSpeed);
                //tmpStr += string.Format("版本: {0}\r\n", tmp.Version);
                tmpStr += string.Format("电压: {0}\r\n", tmp.CurrentVoltage);
                //tmpStr += string.Format("二级缓容量: {0}\r\n", tmp.L2CacheSize);
                //tmpStr += string.Format("二级缓频率: {0}\r\n", tmp.L2CacheSpeed);
                tmpStr += string.Format("-----------------------------------\r\n");
            }
            return tmpStr;
        }


        /// <summary>
        /// 显示内存信息
        /// </summary>
        /// <returns></returns>
        public string ShowMemory()
        {
            string tmpStr = string.Format("===================================\r\n");
            tmpStr += string.Format("内存信息\r\n");
            tmpStr += string.Format("===================================\r\n");
            //tmpStr += string.Format("-----------------------------------\r\n");
            tmpStr += string.Format("总物理内存的大小:{0:f1}G\r\n", Convert.ToDouble(_memory.TotalMem)/1024);
            tmpStr += string.Format("总可用内存的大小:{0:f1}G\r\n", Convert.ToDouble(_memory.AvailMem)/1024);
            tmpStr += string.Format("物理使用率:{0:f1}%\r\n", Convert.ToDouble(_memory.UsageRate));
            tmpStr += string.Format("-----------------------------------\r\n");
            return tmpStr;


        }


        /// <summary>
        /// 显示硬盘信息
        /// </summary>
        /// <returns></returns>
        public string ShowDisk()
        {
            string tmpStr = string.Format("===================================\r\n");
            tmpStr += string.Format("硬盘信息\r\n");
            tmpStr += string.Format("===================================\r\n");
            foreach (Disk tmp in Disks)
            {
                //tmpStr += string.Format("-----------------------------------\r\n");
                tmpStr += string.Format("驱动器号: {0}\r\n盘", tmp.Name);
                //tmpStr += string.Format("卷标: {0}\r\n", tmp.VolumeName);
                //tmpStr += string.Format("序列号: {0}\r\n", tmp.VolumeSerialNumber);
                tmpStr += string.Format("分区大小: {0:f1}G\r\n", Convert.ToDouble(tmp.Size) / (1024 * 1024 * 1024));
                tmpStr += string.Format("可用空间: {0:f1}G\r\n", Convert.ToDouble(tmp.FreeSpace) / (1024 * 1024 * 1024));
                tmpStr += string.Format("文件系统: {0}\r\n", tmp.FileSystem);
                tmpStr += string.Format("描述: {0}\r\n", tmp.Description);
                tmpStr += string.Format("-----------------------------------\r\n");
            }
            return tmpStr;


        }


        /// <summary>
        /// 显示IO信息
        /// </summary>
        /// <returns></returns>
        public string ShowIO()
        {
            string tmpStr = string.Format("===================================\r\n");
            tmpStr += string.Format("IO信息\r\n");
            tmpStr += string.Format("===================================\r\n");
            foreach (IO tmp in IOs)
            {
                //tmpStr += string.Format("-----------------------------------\r\n");
                tmpStr += string.Format("驱动器号: {0}\r\n盘", tmp.Name);
                tmpStr += string.Format("每秒磁盘传输次数: {0}\r\n", tmp.DiskTransfersPerSec);
                tmpStr += string.Format("每秒从磁盘读取得数据量: {0}(Byte)\r\n", tmp.DiskReadBytesPerSec);
                tmpStr += string.Format("每秒从写入磁盘的数据量: {0}(Byte)\r\n", tmp.DiskWriteBytesPerSec);
                //tmpStr += string.Format("Caption: {0}\r\n", tmp.Caption);
                //tmpStr += string.Format("Description: {0}\r\n", tmp.Description);
                tmpStr += string.Format("-----------------------------------\r\n");
            }
            return tmpStr;


        }
        #endregion


        #region 读取相关
        public bool ReadAll()
        {
            try
            {
                if (!ReadDisk()) return false;
                if (!ReadNetwork()) return false;
                if (!ReadMemory()) return false;
                if (!ReadIOs()) return false;
                if (!ReadBIOS()) return false;
                if (!ReadComputerSystem()) return false;
                if (!ReadCPUInfos()) return false;
                if (!ReadOperatingSystem()) return false;
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// 硬盘情况
        /// </summary>
        /// <returns></returns>
        public bool ReadDisk()
        {
            try
            {
                #region 硬盘情况


                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_LogicalDisk");
                Disks = new List<Disk>();
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Disk _Disk = new Disk();


                    if (queryObj["VolumeName"] != null)
                    {
                        _Disk.VolumeName = queryObj["VolumeName"].ToString();
                    }
                    if (queryObj["VolumeSerialNumber"] != null)
                    {
                        _Disk.VolumeSerialNumber = queryObj["VolumeSerialNumber"].ToString();
                    }
                    if (queryObj["Name"] != null)
                    {
                        _Disk.Name = queryObj["Name"].ToString();
                    }
                    if (queryObj["Size"] != null)
                    {
                        _Disk.Size = queryObj["Size"].ToString();
                    }
                    if (queryObj["FreeSpace"] != null)
                    {
                        _Disk.FreeSpace = queryObj["FreeSpace"].ToString();
                    }
                    if (queryObj["FileSystem"] != null)
                    {
                        _Disk.FileSystem = queryObj["FileSystem"].ToString();
                    }
                    if (queryObj["Description"] != null)
                    {
                        _Disk.Description = queryObj["Description"].ToString();
                    }
                    Disks.Add(_Disk);
                }
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// 网络情况
        /// </summary>
        /// <returns></returns>
        public bool ReadNetwork()
        {
            try
            {
                #region 网络情况


                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");
                Networks = new List<Network>();
                foreach (ManagementObject mo in searcher.Get())
                {
                    Network _Network = new Network();
                    string[] defaultgateways = (string[])mo["DefaultIPGateway"];
                    foreach (string defaultipgateway in defaultgateways)
                    {
                        _Network.DefaultIPGateway += defaultipgateway + ",";
                    }
                    _Network.DefaultIPGateway = _Network.DefaultIPGateway.Substring(0, _Network.DefaultIPGateway.Length - 1);
                    _Network.DNSHostName = mo["DNSHostName"].ToString();
                    _Network.Description = mo["Description"].ToString();
                    string[] addresses = (string[])mo["IPAddress"];
                    foreach (string ipaddress in addresses)
                    {
                        _Network.IPAddress += ipaddress + ",";
                    }
                    _Network.IPAddress = _Network.IPAddress.Substring(0, _Network.IPAddress.Length - 1);
                    Networks.Add(_Network);
                }
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// 内存使用情况
        /// </summary>
        /// <returns></returns>
        public bool ReadMemory()
        {
            try
            {
                #region 内存使用情况


                Memory = new Memory();
                double totalMem = 0.0;
                double AvailMem = 0.0;
                //计算物理内存 
                ManagementObjectSearcher search = new ManagementObjectSearcher("Select TotalPhysicalMemory from Win32_LogicalMemoryConfiguration");
                int i = 0;
                foreach (ManagementObject info in search.Get())
                {
                    i = i + 1;
                    totalMem += Convert.ToDouble(info["TotalPhysicalMemory"].ToString()) / 1024;
                }
                Memory.TotalMem = totalMem.ToString();
                //计算剩余内存
                search = new ManagementObjectSearcher("Select AvailableMBytes from Win32_PerfRawData_PerfOS_Memory");
                i = 0;
                foreach (ManagementObject info in search.Get())
                {
                    i = i + 1;
                    AvailMem += Convert.ToDouble(info["AvailableMBytes"].ToString());
                }
                Memory.AvailMem = AvailMem.ToString();
                Memory.UsageRate = string.Format("{0}", Convert.ToDouble((1 - AvailMem / totalMem) * 100));
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// IO情况
        /// </summary>
        /// <returns></returns>
        public bool ReadIOs()
        {
            try
            {
                #region IO情况
                ManagementObjectSearcher sql = new ManagementObjectSearcher("SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk");
                #region Win32_PerfFormattedData_PerfDisk_LogicalDisk返回参数
                //属性 Names: 
                //AvgDiskBytesPerRead
                //AvgDiskBytesPerTransfer
                //AvgDiskBytesPerWrite
                //AvgDiskQueueLength
                //AvgDiskReadQueueLength
                //AvgDisksecPerRead
                //AvgDisksecPerTransfer
                //AvgDisksecPerWrite
                //AvgDiskWriteQueueLength
                //Caption
                //CurrentDiskQueueLength
                //Description
                //DiskBytesPersec
                //DiskReadBytesPersec
                //DiskReadsPersec
                //DiskTransfersPersec
                //DiskWriteBytesPersec
                //DiskWritesPersec
                //FreeMegabytes
                //Frequency_Object
                //Frequency_PerfTime
                //Frequency_Sys100NS
                //Name
                //PercentDiskReadTime
                //PercentDiskTime
                //PercentDiskWriteTime
                //PercentFreeSpace
                //PercentIdleTime
                //SplitIOPerSec
                //Timestamp_Object
                //Timestamp_PerfTime
                //Timestamp_Sys100NS
                #endregion
                ManagementObjectCollection queryCollection = sql.Get();
                IOs = new List<IO>();
                foreach (ManagementObject mo in queryCollection)
                {
                    IO d = new IO();
                    d.Name = mo["Name"].ToString();
                    d.DiskReadBytesPerSec = mo["DiskReadBytesPerSec"].ToString();
                    d.DiskWriteBytesPerSec = mo["DiskWriteBytesPerSec"].ToString();
                    d.DiskTransfersPerSec = mo["DiskTransfersPerSec"].ToString();
                    if (mo["Caption"] != null)
                    {
                        d.Caption = mo["Caption"].ToString();
                    }
                    if (mo["Description"] != null)
                    {
                        d.Description = mo["Description"].ToString();
                    }
                    //r = d.SDiskReadBytesPerSec - d.DiskReadBytesPerSec;
                    //w = d.SDiskWriteBytesPerSec - d.DiskWriteBytesPerSec;
                    //s = d.SDiskTransfersPerSec - d.DiskTransfersPerSec;
                    //d.DiskReadBytesPerSec = d.SDiskReadBytesPerSec;
                    //d.DiskWriteBytesPerSec = d.SDiskWriteBytesPerSec;
                    //d.DiskTransfersPerSec = d.SDiskTransfersPerSec;
                    IOs.Add(d);
                }
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// BIOS信息
        /// </summary>
        /// <returns></returns>
        public bool ReadBIOS()
        {
            try
            {
                #region BIOS信息
                BIOS = new BIOS();
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_SystemBIOS");
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    BIOS.PartComponent = queryObj["PartComponent"].ToString();
                }
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// 计算机系统信息
        /// </summary>
        /// <returns></returns>
        public bool ReadComputerSystem()
        {
            try
            {
                #region 计算机系统信息
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_ComputerSystem");
                _ComputerSystem = new ComputerSystem();
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    _ComputerSystem.Name = queryObj["Name"].ToString();
                    _ComputerSystem.NumberOfProcessors = queryObj["NumberOfProcessors"].ToString();
                    _ComputerSystem.Description = queryObj["Description"].ToString();
                    _ComputerSystem.Domain = queryObj["Domain"].ToString();
                    _ComputerSystem.SystemType = queryObj["SystemType"].ToString();
                    _ComputerSystem.TotalPhysicalMemory = queryObj["TotalPhysicalMemory"].ToString();
                    _ComputerSystem.UserName = queryObj["UserName"].ToString();
                }
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// cpu情况
        /// </summary>
        /// <returns></returns>
        public bool ReadCPUInfos()
        {
            try
            {
                #region cpu情况
                Double CPUtprt = 0;
                System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");
                foreach (ManagementObject mo in mos.Get())
                {
                    CPUtprt += Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;
                }


                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");
                CPUInfos = new List<CPUInfo>();
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    CPUInfo _CPUInfo = new CPUInfo();
                    _CPUInfo.DeviceID = queryObj["DeviceID"].ToString();
                    _CPUInfo.ProcessorId = queryObj["ProcessorId"].ToString();
                    _CPUInfo.CpuStatus = queryObj["CpuStatus"].ToString();
                    _CPUInfo.LoadPercentage = queryObj["LoadPercentage"].ToString();
                    _CPUInfo.Caption = queryObj["Caption"].ToString();
                    _CPUInfo.Name = queryObj["Name"].ToString();
                    _CPUInfo.CPUManufacturer = queryObj["Manufacturer"].ToString();
                    _CPUInfo.Description = queryObj["Description"].ToString();
                    _CPUInfo.AddressWidth = queryObj["AddressWidth"].ToString();
                    _CPUInfo.DataWidth = queryObj["DataWidth"].ToString();
                    _CPUInfo.CurrentClockSpeed = queryObj["CurrentClockSpeed"].ToString();
                    _CPUInfo.MaxClockSpeed = queryObj["MaxClockSpeed"].ToString();
                    _CPUInfo.Version = queryObj["Version"].ToString();
                    _CPUInfo.CurrentVoltage = queryObj["CurrentVoltage"].ToString();
                    _CPUInfo.L2CacheSize = queryObj["L2CacheSize"].ToString();
                    _CPUInfo.Temperature = (CPUtprt / 2).ToString();
                    if (queryObj["L2CacheSpeed"] != null)
                    {
                        _CPUInfo.L2CacheSpeed = queryObj["L2CacheSpeed"].ToString();
                    }
                    CPUInfos.Add(_CPUInfo);
                }
                #endregion
                return true;
            }
            catch
            {
                return false;
            }
        }
        
        /// <summary>
        /// 读取操作系统
        /// </summary>
        /// <returns></returns>
        public bool ReadOperatingSystem()
        {
            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_OperatingSystem");
                _OperatingSystem = new OperatingSystem();
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    _OperatingSystem.Caption = queryObj["Caption"].ToString();
                    _OperatingSystem.CSDVersion = queryObj["CSDVersion"].ToString();
                    _OperatingSystem.CSName = queryObj["CSName"].ToString();
                    _OperatingSystem.Organization = queryObj["Organization"].ToString();
                    _OperatingSystem.RegisteredUser = queryObj["RegisteredUser"].ToString();
                    _OperatingSystem.SerialNumber = queryObj["SerialNumber"].ToString();
                    _OperatingSystem.SystemDrive = queryObj["SystemDrive"].ToString();
                    _OperatingSystem.WindowsDirectory = queryObj["WindowsDirectory"].ToString();
                    _OperatingSystem.SystemDirectory = queryObj["SystemDirectory"].ToString();
                    _OperatingSystem.TotalVisibleMemorySize = queryObj["TotalVisibleMemorySize"].ToString();
                    _OperatingSystem.Version = queryObj["Version"].ToString();
                }
                return true;
            }
            catch
            {
                return false;
            }
        }
        #endregion
    }


    /// <summary>
    /// cpu信息类
    /// </summary>
    public class CPUInfo
    {


        private string _DeviceID;
        /// <summary>
        /// 编号
        /// </summary>
        public string DeviceID
        {
            get { return _DeviceID; }
            set { _DeviceID = value; }
        }
        private string _ProcessorId;
        /// <summary>
        /// CPU序列号
        /// </summary>
        public string ProcessorId
        {
            get { return _ProcessorId; }
            set { _ProcessorId = value; }
        }
        #region CPU制造商
        string strCPUManufacturer = string.Empty;
        /// <summary>
        /// CPU制造商
        /// </summary>
        public string CPUManufacturer
        {
            get { return strCPUManufacturer; }
            set { strCPUManufacturer = value; }
        }
        #endregion
        private string _CpuStatus;
        /// <summary>
        /// Cpu状态
        /// </summary>
        public string CpuStatus
        {
            get { return _CpuStatus; }
            set { _CpuStatus = value; }
        }
        private string _Caption;
        /// <summary>
        /// 类别
        /// </summary>
        public string Caption
        {
            get { return _Caption; }
            set { _Caption = value; }
        }
        private string _Name;
        /// <summary>
        /// 名称
        /// </summary>
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        private string _Description;
        /// <summary>
        /// 描述
        /// </summary>
        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }
        private string _AddressWidth;
        /// <summary>
        /// 寻址
        /// </summary>
        public string AddressWidth
        {
            get { return _AddressWidth; }
            set { _AddressWidth = value; }
        }
        private string _DataWidth;
        /// <summary>
        /// 数据带宽
        /// </summary>
        public string DataWidth
        {
            get { return _DataWidth; }
            set { _DataWidth = value; }
        }
        private string _CurrentClockSpeed;
        /// <summary>
        /// 时钟频率
        /// </summary>
        public string CurrentClockSpeed
        {
            get { return _CurrentClockSpeed; }
            set { _CurrentClockSpeed = value; }
        }
        private string _MaxClockSpeed;
        /// <summary>
        /// 最高时钟频率
        /// </summary>
        public string MaxClockSpeed
        {
            get { return _MaxClockSpeed; }
            set { _MaxClockSpeed = value; }
        }
        private string _Version;
        /// <summary>
        /// 版本
        /// </summary>
        public string Version
        {
            get { return _Version; }
            set { _Version = value; }
        }
        private string _CurrentVoltage;
        /// <summary>
        /// 电压
        /// </summary>
        public string CurrentVoltage
        {
            get { return _CurrentVoltage; }
            set { _CurrentVoltage = value; }
        }
        private string _L2CacheSize;
        /// <summary>
        /// 二级缓容量
        /// </summary>
        public string L2CacheSize
        {
            get { return _L2CacheSize; }
            set { _L2CacheSize = value; }
        }
        private string _L2CacheSpeed;
        /// <summary>
        /// 二级缓频率
        /// </summary>
        public string L2CacheSpeed
        {
            get { return _L2CacheSpeed; }
            set { _L2CacheSpeed = value; }
        }
        private string _loadPercentage;


        /// <summary>
        /// CPU使用率
        /// </summary>
        public string LoadPercentage
        {
            get { return _loadPercentage; }
            set { _loadPercentage = value; }
        }
        private string _Temperature;
        /// <summary>
        /// cpu温度
        /// </summary>
        public string Temperature
        {
            get { return _Temperature; }
            set { _Temperature = value; }
        }
    }


    /// <summary>
    /// 内存类
    /// </summary>
    public class Memory
    {
        private string _totalMem;
        private string _availMem;
        private string _usageRate;


        /// <summary>
        /// 内存使用率
        /// </summary>
        public string UsageRate
        {
            get { return _usageRate; }
            set { _usageRate = value; }
        }
        /// <summary>
        /// 总可用内存的大小
        /// </summary>
        public string AvailMem
        {
            get { return _availMem; }
            set { _availMem = value; }
        }
        /// <summary>
        /// 总物理内存的大小
        /// </summary>
        public string TotalMem
        {
            get { return _totalMem; }
            set { _totalMem = value; }
        }


    }
    /// <summary>
    /// 硬盘类
    /// </summary>
    public class Disk
    {
        private string _volumeName;
        private string _volumeSerialNumber;
        private string _name;
        private string _size;
        private string _freeSpace;
        private string _fileSystem;
        private string _description;
        /// <summary>
        /// 卷标
        /// </summary>
        public string VolumeName
        {
            get { return _volumeName; }
            set { _volumeName = value; }
        }
        /// <summary>
        /// 序列号
        /// </summary>
        public string VolumeSerialNumber
        {
            get { return _volumeSerialNumber; }
            set { _volumeSerialNumber = value; }
        }
        /// <summary>
        /// 驱动器号
        /// </summary>
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        /// <summary>
        /// 分区大小
        /// </summary>
        public string Size
        {
            get { return _size; }
            set { _size = value; }
        }
        /// <summary>
        /// 可用空间
        /// </summary>
        public string FreeSpace
        {
            get { return _freeSpace; }
            set { _freeSpace = value; }
        }
        /// <summary>
        /// 文件系统
        /// </summary>
        public string FileSystem
        {
            get { return _fileSystem; }
            set { _fileSystem = value; }
        }
        /// <summary>
        /// 描述
        /// </summary>
        public string Description
        {
            get { return _description; }
            set { _description = value; }
        }


    }
    /// <summary>
    /// 操作系统类
    /// </summary>
    public class OperatingSystem
    {
        private string _Caption;
        /// <summary>
        /// 系统名称
        /// </summary>
        public string Caption
        {
            get { return _Caption; }
            set { _Caption = value; }
        }
        private string _CSDVersion;
        /// <summary>
        /// 版本
        /// </summary>
        public string CSDVersion
        {
            get { return _CSDVersion; }
            set { _CSDVersion = value; }
        }
        private string _CSName;
        /// <summary>
        /// 计算机名称
        /// </summary>
        public string CSName
        {
            get { return _CSName; }
            set { _CSName = value; }
        }
        private string _Organization;
        /// <summary>
        /// 公司
        /// </summary>
        public string Organization
        {
            get { return _Organization; }
            set { _Organization = value; }
        }
        private string _RegisteredUser;
        /// <summary>
        /// 注册用户
        /// </summary>
        public string RegisteredUser
        {
            get { return _RegisteredUser; }
            set { _RegisteredUser = value; }
        }
        private string _SerialNumber;
        /// <summary>
        /// 序列号
        /// </summary>
        public string SerialNumber
        {
            get { return _SerialNumber; }
            set { _SerialNumber = value; }
        }
        private string _SystemDrive;
        /// <summary>
        /// 系统所在分区
        /// </summary>
        public string SystemDrive
        {
            get { return _SystemDrive; }
            set { _SystemDrive = value; }
        }
        private string _WindowsDirectory;
        /// <summary>
        /// 系统目录
        /// </summary>
        public string WindowsDirectory
        {
            get { return _WindowsDirectory; }
            set { _WindowsDirectory = value; }
        }
        private string _SystemDirectory;
        /// <summary>
        /// 系统System32所在目录
        /// </summary>
        public string SystemDirectory
        {
            get { return _SystemDirectory; }
            set { _SystemDirectory = value; }
        }
        private string _TotalVisibleMemorySize;
        /// <summary>
        /// 可见内存
        /// </summary>
        public string TotalVisibleMemorySize
        {
            get { return _TotalVisibleMemorySize; }
            set { _TotalVisibleMemorySize = value; }
        }
        private string _Version;
        /// <summary>
        /// 版本号
        /// </summary>
        public string Version
        {
            get { return _Version; }
            set { _Version = value; }
        }
    }
    /// <summary>
    /// BIOS信息类
    /// </summary>
    public class BIOS
    {
        private string _PartComponent;
        /// <summary>
        /// 汇总信息
        /// </summary>
        public string PartComponent
        {
            get { return _PartComponent; }
            set { _PartComponent = value; }
        }
    }
    /// <summary>
    /// 计算机系统信息
    /// </summary>
    public class ComputerSystem
    {
        private string _Name;
        /// <summary>
        /// 计算机全称
        /// </summary>
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        private string _NumberOfProcessors;
        /// <summary>
        /// 处理器数量
        /// </summary>
        public string NumberOfProcessors
        {
            get { return _NumberOfProcessors; }
            set { _NumberOfProcessors = value; }
        }
        private string _Description;
        /// <summary>
        /// 描述
        /// </summary>
        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }
        private string _Domain;
        /// <summary>
        /// 域
        /// </summary>
        public string Domain
        {
            get { return _Domain; }
            set { _Domain = value; }
        }
        private string _SystemType;
        /// <summary>
        /// 系统类型
        /// </summary>
        public string SystemType
        {
            get { return _SystemType; }
            set { _SystemType = value; }
        }
        private string _TotalPhysicalMemory;
        /// <summary>
        /// 实际内存
        /// </summary>
        public string TotalPhysicalMemory
        {
            get { return _TotalPhysicalMemory; }
            set { _TotalPhysicalMemory = value; }
        }
        private string _UserName;
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName
        {
            get { return _UserName; }
            set { _UserName = value; }
        }
    }
    /// <summary>
    /// 网络信息
    /// </summary>
    public class Network
    {
        private string _DNSHostName;
        /// <summary>
        /// 主机名称
        /// </summary>
        public string DNSHostName
        {
            get { return _DNSHostName; }
            set { _DNSHostName = value; }
        }
        private string _Description;
        /// <summary>
        /// 网卡描述
        /// </summary>
        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }


        private string _IPAddress;
        /// <summary>
        /// IP地址(string[])
        /// </summary>
        public string IPAddress
        {
            get { return _IPAddress; }
            set { _IPAddress = value; }
        }
        private string _DefaultIPGateway;
        /// <summary>
        /// 默认网关(string[])
        /// </summary>
        public string DefaultIPGateway
        {
            get { return _DefaultIPGateway; }
            set { _DefaultIPGateway = value; }
        }
    }
    /// <summary>
    /// IO信息
    /// </summary>
    public class IO
    {
        private string _DiskTransfersPerSec;
        /// <summary>
        /// 每秒磁盘传输次数
        /// </summary>
        public string DiskTransfersPerSec
        {
            get { return _DiskTransfersPerSec; }
            set { _DiskTransfersPerSec = value; }
        }
        private string _DiskReadBytesPerSec;
        /// <summary>
        /// 每秒从磁盘读取得数据量,单位为Byte
        /// </summary>
        public string DiskReadBytesPerSec
        {
            get { return _DiskReadBytesPerSec; }
            set { _DiskReadBytesPerSec = value; }
        }
        private string _DiskWriteBytesPerSec;
        /// <summary>
        /// 每秒从磁盘读取得数据量,单位为Byte
        /// </summary>
        public string DiskWriteBytesPerSec
        {
            get { return _DiskWriteBytesPerSec; }
            set { _DiskWriteBytesPerSec = value; }
        }


        private string _Name;


        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }


        private string _Caption;


        public string Caption
        {
            get { return _Caption; }
            set { _Caption = value; }
        }
        private string _Description;


        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }
    }

  对应类图如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值