本文共 2076 字,大约阅读时间需要 6 分钟。
现在我将来解释如何在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 类,以获取更多详细信息。
感谢您的访问,希望对您有所帮助。
欢迎大家关注或收藏、评论或点赞。
为使本文得到斧正和提问,转载请注明出处: