博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用C#获取电脑硬件信息
阅读量:6093 次
发布时间:2019-06-20

本文共 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 类,以获取更多详细信息。



感谢您的访问,希望对您有所帮助。

欢迎大家关注或收藏、评论或点赞。


为使本文得到斧正和提问,转载请注明出处:


你可能感兴趣的文章
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>