用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

原文地址:https://www.cnblogs.com/NoMasp/p/4495376.html