• 用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

  • 相关阅读:
    Webkit是如何加载网页的
    代码无错是优? 工厂模式
    JavaScript 记忆 Memoization
    输入一个新的网址后到完全显示页面,浏览器做了哪些工作?
    向服务器请求数据的五种技术
    setTimeout(0) 即将退役
    JS 对象机制深剖——new 运算符
    正则表达式中的回溯
    闭包与柯里化
    正则表达式工作原理
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4495376.html
Copyright © 2020-2023  润新知