龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

.NET实现主机性能监控系统之获取计算机信息(2)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
C# 代码 [http://www.xueit.com] public class SystemInfo { 属性 #region 属性 OS名称 #region OS名称 string strOSName = string .Empty; // OS名称 public string OSName { get { return strOSName;

 

C# 代码 [http://www.xueit.com]
    public class SystemInfo
    {
        属性#region 属性
        OS名称#region OS名称
        string strOSName = string.Empty;  //OS名称

        public string OSName
        {
            get { return strOSName; }
            set { strOSName = value; }
        }
        #endregion

        OS版本#region OS版本
        string strOSVersion = string.Empty;  //OS版本

        public string OSVersion
        {
            get { return strOSVersion; }
            set { strOSVersion = value; }
        }
        #endregion

        OS制造商#region OS制造商
        string strOSManufacturer = string.Empty;  //OS制造商

        public string OSManufacturer
        {
            get { return strOSManufacturer; }
            set { strOSManufacturer = value; }
        }
        #endregion

        Windows 目录#region Windows 目录
        string strWindowsDirectory = string.Empty;

        public string WindowsDirectory
        {
            get { return strWindowsDirectory; }
            set { strWindowsDirectory = value; }
        }
        #endregion

        系统目录#region 系统目录
        string strSystemDirectory = string.Empty;  //系统目录

        public string SystemDirectory
        {
            get { return strSystemDirectory; }
            set { strSystemDirectory = value; }
        }
        #endregion

        启动设备#region 启动设备
        string strBootDevice = string.Empty;  //启动设备

        public string BootDevice
        {
            get { return strBootDevice; }
            set { strBootDevice = value; }
        }
        #endregion

        地区#region 地区
        string strCountry = string.Empty;  //地区

        public string Country
        {
            get { return strCountry; }
            set { strCountry = value; }
        }
        #endregion

        时区#region 时区
        string strTimeZone = string.Empty;  //时区

        public string TimeZone
        {
            get { return strTimeZone; }
            set { strTimeZone = value; }
        }
        #endregion

        总的物理内存#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
        #endregion

        构造函数#region 构造函数
        public SystemInfo()
        {
            GetSystemInfo();
        }
        #endregion

        GetSystemInfo#region GetSystemInfo
        private void GetSystemInfo()
        {
            OSVersion = Environment.OSVersion.ToString();  //通过系统自带的Environment这个类来获取 系统的版本
            SystemName = Environment.MachineName;  //通过系统自带的Environment这个类来获取 系统的名称
            Country = System.Globalization.CultureInfo.CurrentCulture.DisplayName;  //获取区域设置
            TimeZone = System.TimeZone.CurrentTimeZone.StandardName;  //获取时区设置

            //实例化一个ManagementClass类,并将Win32_OperatingSystem作为参数传递进去,
            //这样就可以查询Win32_OperatingSystem这个类里面的一些信息了。
            ManagementClass mClass = new ManagementClass("Win32_OperatingSystem");

            //获取Win32_OperatingSystem这个类的所有实例
            ManagementObjectCollection moCollection = mClass.GetInstances();

            //对Win32_OperatingSystem这个类进行遍历
            foreach (ManagementObject mObject in moCollection)
            {
                OSName = mObject["Caption"].ToString();  //获取OS 名称
                OSManufacturer = mObject["Manufacturer"].ToString();  //获取 OS 制造商
                SystemName = mObject["CSName"].ToString();  //获取系统名称
                WindowsDirectory = mObject["WindowsDirectory"].ToString();  //获取Windows 目录
                SystemDirectory = mObject["SystemDirectory"].ToString();  //获取系统目录
                BootDevice = mObject["BootDevice"].ToString();  //获取启动设备
                TotalVisibleMemorySize = ((ulong)mObject["TotalVisibleMemorySize"] / 1024.0 / 1024).ToString("#0.00")   "G";  //获取总的物理内存
                FreePhysicalMemory = ((ulong)mObject["FreePhysicalMemory"] / 1024.0 / 1024).ToString("#0.00")   "G";  //获取可用物理内存
                TotalVirtualMemorySize = ((ulong)mObject["TotalVirtualMemorySize"] / 1024.0 / 1024).ToString("#0.00")   "G";   //获取总的虚拟内存
                FreeVirtualMemory = ((ulong)mObject["FreeVirtualMemory"] / 1024.0 / 1024).ToString("#0.00")   "G";  //获取可用虚拟内存
                SizeStoredInPagingFiles = ((ulong)mObject["SizeStoredInPagingFiles"] / 1024.0 / 1024).ToString("#0.00")   "G";  //获取页面文件大小
            }
        }
        #endregion
    }

再启动一个VS2008 创建一个解决方案命名为:HostPerformance,添加上面那个类库的引用,如下图


精彩图集

赞助商链接