zoukankan      html  css  js  c++  java
  • 用C#获取电脑硬件信息

    现在我将来解释如何在C#中用WMI(Windows Management Instrumentation)来获取电脑的硬件信息。

    我们的目的是用WMI的api在C#下获取电脑的以下信息:

    物理处理器的数量
    逻辑处理器的数量
    位数
    系统构架
    内核数量

    在Visual Studio中创建一个控制台应用程序,并且右击引用然后选择“添加引用”,再选择“System.Management”。

    这里写图片描述

    现在已经通过using语句包括了System.Management,你可以在你的代码中使用WMI类引用了。

    这里是生成硬件信息的完整代码。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication8
    {                        
        class Program
        {
            static void Main(string[] args)
            {
                GetCpuDetails();
            }
            private static void GetCpuDetails()
            {
                foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_ComputerSystem").Get())
                {
                    Console.WriteLine("Number Of Physical Processors: {0} ", item["NumberOfProcessors"]);
                    Console.WriteLine("Number Of Logical Processors: {0} ", item["NumberOfLogicalProcessors"]);
                }
    
                var numberOfCores = 0;
                foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get())
                {
                    numberOfCores += int.Parse(item["NumberOfCores"].ToString());
                    Console.WriteLine("Bitness: {0}", item["AddressWidth"]);
                    Console.WriteLine("Architecture: {0}", GetArchitectureDetail(int.Parse(item["Architecture"].ToString())));
                }
    
                Console.WriteLine("Number Of Cores: {0}", numberOfCores);
    
    
            }
    
            private static string GetArchitectureDetail(int architectureNumber)
            {
                switch (architectureNumber)
                {
                    case 0: return "x86";
                    case 1: return "MIPS";
                    case 2: return "Alpha";
                    case 3: return "PowerPC";
                    case 6: return "Itanium-based systems";
                    case 9: return "x64";
                    default:
                        return "Unkown";
                }
            }
        }
    }

    这里是以上程序的输出。

    这里写图片描述

    你也可以浏览 通过Win32_ComputerSystem 浏览Win32_Processor WMI 类,以获取更多详细信息。



    为使本文得到斧正和提问,转载请注明出处:
    http://blog.csdn.net/nomasp

  • 相关阅读:
    solaris如何启动ssh服务
    网页实现插入图片—css与html的区别
    Python与RPC -- (转)
    Python中的异常处理 -- (转)
    Python的异常处理机制 -- (转)
    HTML 学习
    链表练习 链表反转 链表插入..
    php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
    PHP队列的实现 算法
    利用redis List队列简单实现秒杀 PHP代码实现
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4495376.html
Copyright © 2011-2022 走看看