用C#获取电脑硬件信息

现在我将来解释如何在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

时间: 2024-08-04 22:33:53

用C#获取电脑硬件信息的相关文章

检测硬件的批处理命令,检测硬件bat,一键获取电脑硬件信息

警告:运行BAT源码是一种危险的动作,如果你不熟悉,请不要尝试! 批处理语言: 简体中文 授权方式: 免费软件 运行环境: Windows平台 检测硬件批处理命令.一键获取.直接双击就可以查看 @echo off color 0a title 硬件检测 mode con cols=90 sc config winmgmt start= auto >nul 2<&1 net start winmgmt 2>1nul setlocal ENABLEDELAYEDEXPANSION e

使用WMI编程获取主机硬件信息(CPU_ID,硬盘、主板、BIOS序列号,Mac地址)

最近在公司实习,有个应用需要获取windows主机的一些硬件信息,在网上查阅了一些资料,大部分都是使用WMI编程来实现的. 因此小菜鸟自己也用WMI实现了一下,封装为函数GetUserInfo(),具体代码如下: 头文件UserInfo.h: 1 #pragma once 2 #include "stdafx.h" 3 #define _WIN32_DCOM 4 #include <comdef.h> 5 #include <Wbemidl.h> 6 # pra

使用psutil模块获取电脑运行信息

psutil是python的一个用于获取cpu信息的模块,非常好使,以下附上官方的一些example: CPU-> Examples ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>> import psutil >>> psutil.cpu_times() scputimes(user=3961.46, nice=169.729, sy

C#读取电脑硬件信息

在班上看到同事在使用加密狗,觉得自己也可以实现一个类似加密狗读取电脑cpu和mac地址的程序,就试着做了一个.程序比较简单,但已经实现读取功能了. 1 public class HardWareHelper 2 { 3 /// <summary> 4 /// 获取本机所有的CPU序列号(不会返回null) 5 /// </summary> 6 /// <returns></returns> 7 public static List<string>

c# WMI获取机器硬件信息(硬盘,cpu,内存等)

using System; using System.Collections.Generic; using System.Globalization; using System.Management; using System.IO; using System.Net; using System.Net.NetworkInformation; using System.Net.Sockets; using System.Runtime.InteropServices; using System.

PYTHON 获取机器硬件信息及状态

#!/usr/bin/env python # encoding: utf-8 from optparse import OptionParser import os import re import json def main(): try: parser = OptionParser(usage="%prog [options]") reg_result=re.compile('\[(.*)\]') #add option parser.add_option("-m&qu

查看电脑硬件信息,主板、内存等

方法1. 运行---cmd---systeminfo 方法2. 运行---cmd---dxdiag 方法3. 借助三方软件,想Everest或者CPU-Z等,CPU-Z还是挺不错的.

获取电脑屏幕信息

<html> <script> function a(){ document.write( "屏幕分辨率为:"+screen.width+"*"+screen.height +"<br />"+ "屏幕可用大小:"+screen.availWidth+"*"+screen.availHeight +"<br />"+ "网页可见区

linux查看硬件信息及驱动设备相关整理

查看声卡设备:cat /proc/asound/cards 查看USB设备:cat /proc/bus/usb/devices 常用命令整理如下:用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)查看CPU信息:cat /proc/cpuinfo查看板卡信息:cat /proc/pci查看PCI信息:lspci (相比cat /proc/pci更直观)查看内存信息:cat /proc/meminfo查看USB设备:cat /proc/bus/u