• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【20090903-01】C#中使用ManagementClass获取本机信息

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
C#中使用ManagementClass获取本机信息

C#提供 ManagementClass来对机器的信息进行管理,可以通过设定不同的管理类来获得机器的基本信息。下面给出了一些基本的信息的获取方法,包括获取CPU数目,cpu频率,内存大小,硬盘大小。

 

private void GetLocalInfo()
        {
            string cpuCount;
            string hdSize;
            string memorysize;
           
            //得到CPU信息
            ManagementClass mcpu = new ManagementClass("Win32_Processor");
            ManagementObjectCollection mncpu = mcpu.GetInstances();
            cpuCount = mncpu.Count.ToString();
            string[] cpuHz = new string[mncpu.Count];
            int count = 0;
            ManagementObjectSearcher MySearcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
            foreach (ManagementObject MyObject in MySearcher.Get())
            {
                cpuHz[count] = MyObject.Properties["CurrentClockSpeed"].Value.ToString();
                count++;
            }
            mncpu.Dispose();
            mcpu.Dispose();

            //得到硬盘信息
            ManagementClass mcHD = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moHD = mcHD.GetInstances();

            foreach (ManagementObject tempob in moHD)
            {
                hdSize = tempob.Properties["Size"].Value.ToString();
            }
            moHD.Dispose();
            mcHD.Dispose();

            //得到内存信息
            ManagementClass mcMemory = new ManagementClass("Win32_OperatingSystem");
            ManagementObjectCollection mocMemory = mcMemory.GetInstances();

            double sizeall = 0;
            foreach (ManagementObject mo in mocMemory)
            {
                if (mo.Properties["TotalVisibleMemorySize"].Value != null)
                {
                    sizeall += double.Parse(mo.Properties["TotalVisibleMemorySize"].Value.ToString());
                }
            }
            memorysize = sizeall.ToString();
            mocMemory.Dispose();
            mcMemory.Dispose();

}

ManagementClass 类

http://msdn.microsoft.com/zh-cn/library/system.management.managementclass(VS.80).aspx
转自:http://blog.sina.com.cn/s/blog_48a5b47d0100ajv7.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#设计模式05——抽象工厂的写法发布时间:2022-07-13
下一篇:
C#时间函数的用法C#时间格式输出发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap