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

  • 相关阅读:
    347. 前 K 个高频元素(桶排序、堆排序)
    322. 零钱兑换 && 416. 分割等和子集(0-1背包问题)
    739. 每日温度 && 503. 下一个更大元素 II (单调栈)
    1110. 删点成林
    个人纪录
    pub get failed (server unavailable) -- attempting retry 1 in 1 second?
    python 遍历文件夹重命名
    flutter vscode 连接iphone失败
    部署以太坊合约
    Web漏洞扫描工具AppScan10介绍
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4495376.html
Copyright © 2011-2022 走看看