標籤:visual 系統 資訊 核心 選擇
現在我將來解釋如何在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
用C#擷取電腦硬體資訊