您的位置:首页 > 编程语言 > C#

用C#获取电脑硬件信息

2015-09-08 00:00 423 查看
现在我将来解释如何在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息