说明:开发工具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; }
}
}
对应类图如下: