繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> 评论及其它 >> 通过WMI获取系统信息一个类,希望对大家有点帮助

通过WMI获取系统信息一个类,希望对大家有点帮助

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:6  文字大小:【】【】【
简介:using System; using System.Management; namespace PathFinder.OPSP.Management.Control {     /// <summary>     /// 平台信息类     //...

using System;

using System.Management;

namespace PathFinder.OPSP.Management.Control

{

///

/// 平台信息类

///

public class PlatformInfo

{

private string m_strCPU;

private string m_strOS;

private string m_strRAM;

private string m_strVM;

private string m_strDisk;

public PlatformInfo()

{

this.Refresh();

}

public string CPU

{

get

{

return m_strCPU;

}

}

public string OS

{

get

{

return m_strOS;

}

}

public string RAM

{

get

{

return m_strRAM;

}

}

public string VirtualMemory

{

get

{

return m_strVM;

}

}

public string Disk

{

get

{

return m_strDisk;

}

}

public void Refresh()

{

GetCPU();

GetOS_RAM_VM();

GetDisk();

}

private void GetCPU()

{

m_strCPU = string.Empty;

ManagementClass objMC = new ManagementClass("Win32_Processor");

ManagementObjectCollection objMOC = objMC.GetInstances();

foreach(ManagementObject objMO in objMOC)

{

if (m_strCPU != string.Empty)

{

m_strCPU += "\r\n";

}

m_strCPU += (string)objMO["Caption"];

m_strCPU += " ";

uint iClockSpeed = (uint)objMO["CurrentClockSpeed"];

m_strCPU += iClockSpeed.ToString();

m_strCPU += "MHz";

objMO.Dispose();

}

objMOC.Dispose();

objMC.Dispose();

}

private void GetOS_RAM_VM()

{

ManagementClass objMC = new ManagementClass("Win32_OperatingSystem");

ManagementObjectCollection objMOC = objMC.GetInstances();

foreach(ManagementObject objMO in objMOC)

{

m_strOS = (string)objMO["Caption"];

ulong iRam = ((ulong)objMO["TotalVisibleMemorySize"])>>10;

m_strRAM = iRam.ToString() + " MB";

ulong iVM = ((ulong)objMO["TotalVirtualMemorySize"])>>10;

m_strVM = iVM.ToString() + " MB";

objMO.Dispose();

}

objMOC.Dispose();

objMC.Dispose();

}

private void GetDisk()

{

m_strDisk = string.Empty;

ManagementClass objMC = new ManagementClass("Win32_DiskDrive");

ManagementObjectCollection objMOC = objMC.GetInstances();

foreach(ManagementObject objMO in objMOC)

{

if (m_strDisk != string.Empty)

{

m_strDisk += "\r\n";

}

m_strDisk += "Disk";

uint index = (uint)objMO["Index"];

m_strDisk += index.ToString();

m_strDisk += " ";

ulong iSize = (ulong)objMO["Size"];

int iTemp = (int)(iSize>>30);

if (iTemp>0)

{

m_strDisk += iTemp.ToString();

m_strDisk += " GB";

}

else

{

iTemp = (int)(iSize >>20);

m_strDisk += iTemp.ToString();

m_strDisk += " GB";

}

objMO.Dispose();

}

objMOC.Dispose();

objMC.Dispose();

}

}

}

责任编辑:admin
相关文章