通过WMI获取系统信息一个类,希望对大家有点帮助 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 通过WMI获取系统信息一个类,希望对大家有点帮助 (http://www.webasp.net/article/4/3955.htm) |
| -- 作者:未知 -- 发布日期: 2003-07-12 |
| using System; using System.Management; namespace PathFinder.OPSP.Management.Control { /// <summary> /// 平台信息类 /// </summary> 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(); } } } |
| webasp.net |