用C#獲取電腦硬體資訊

nomasp發表於2015-05-10

現在我將來解釋如何在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


相關文章