欢迎光临
我们一直在努力

建站超值云服务器,限时71元/月

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();
        }
    }
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 »
分享到: 更多 (0)

相关推荐

  • 暂无文章