获取电脑的一些硬件信息

  • 前言
  • 一、准备
  • 二、获取硬件信息
    • 1.获取CPU序列号
    • 2.获取主板序列号
    • 3.获取硬盘序列号
    • 4.获取网卡地址
  • 总结
    • 常见Key值
  • 参考引用

前言

项目代码中有关于获取Firmware version and pnpId的代码,学习一下C#中Management如何获取硬件信息

此次用到的主要类是ManagementObjectSearcher,该类在System.Management命名空间下。
有时候我们可以通过Environment获得一些简单的系统信息。
如:Environment.MachineName;获得计算机名。
Environment.UserName;获得操作系统登录用户名。
不过在这篇文章中主要讨论ManagementObjectSearcher获取计算机硬件及操作系统的信息。


提示:以下是本篇文章正文内容,下面案例可供参考

一、准备

1.添加引用:System.Management

2.引入命名空间:using System.Management;

二、获取硬件信息

1.获取CPU序列号

代码如下(示例):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management;
namespace ConsoleApp1
{class Program{static void Main(string[] args){Console.WriteLine(GetCPUSerialNumber());Console.ReadLine();}//获取CPU序列号public static string GetCPUSerialNumber(){try{ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor");string sCPUSerialNumber = "";foreach (ManagementObject mo in searcher.Get()){sCPUSerialNumber = mo["ProcessorId"].ToString().Trim();break;}return sCPUSerialNumber;}catch{return "";}}}
}

通过cmd 输入 wmic CPU get ProcessorID获取CPU序列号

2.获取主板序列号

代码如下(示例):

 //获取主板序列号public static string GetBIOSSerialNumber(){try{ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS");string sBIOSSerialNumber = "";foreach (ManagementObject mo in searcher.Get()){sBIOSSerialNumber = mo.GetPropertyValue("SerialNumber").ToString().Trim();break;}return sBIOSSerialNumber;}catch{return "";}}

通过cmd wmic csproduct get IdentifyingNumber

3.获取硬盘序列号

代码如下(示例):

//获取硬盘序列号public static string GetHardDiskSerialNumber(){try{ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");string sHardDiskSerialNumber = "";foreach (ManagementObject mo in searcher.Get()){sHardDiskSerialNumber = mo["SerialNumber"].ToString().Trim();break;}return sHardDiskSerialNumber;}catch{return "";}}

4.获取网卡地址

代码如下(示例):

 //获取网卡地址public static string GetNetCardMACAddress(){try{ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))");string NetCardMACAddress = "";foreach (ManagementObject mo in searcher.Get()){NetCardMACAddress = mo["MACAddress"].ToString().Trim();break;}return NetCardMACAddress;}catch{return "";}}


总结

常见Key值

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + Key);// 硬件
Win32_Processor, // CPU 处理器
Win32_PhysicalMemory, // 物理内存条
Win32_Keyboard, // 键盘
Win32_PointingDevice, // 点输入设备,包括鼠标。
Win32_FloppyDrive, // 软盘驱动器
Win32_DiskDrive, // 硬盘驱动器
Win32_CDROMDrive, // 光盘驱动器
Win32_BaseBoard, // 主板
Win32_BIOS, // BIOS 芯片
Win32_ParallelPort, // 并口
Win32_SerialPort, // 串口
Win32_SerialPortConfiguration, // 串口配置
Win32_SoundDevice, // 多媒体设置,一般指声卡。
Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP)
Win32_USBController, // USB 控制器
Win32_NetworkAdapter, // 网络适配器
Win32_NetworkAdapterConfiguration, // 网络适配器设置
Win32_Printer, // 打印机
Win32_PrinterConfiguration, // 打印机设置
Win32_PrintJob, // 打印机任务
Win32_TCPIPPrinterPort, // 打印机端口
Win32_POTSModem, // MODEM
Win32_POTSModemToSerialPort, // MODEM 端口
Win32_DesktopMonitor, // 显示器
Win32_DisplayConfiguration, // 显卡
Win32_DisplayControllerConfiguration, // 显卡设置
Win32_VideoController, // 显卡细节。
Win32_VideoSettings, // 显卡支持的显示模式。 // 操作系统
Win32_TimeZone, // 时区
Win32_SystemDriver, // 驱动程序
Win32_DiskPartition, // 磁盘分区
Win32_LogicalDisk, // 逻辑磁盘
Win32_LogicalDiskToPartition, // 逻辑磁盘所在分区及始末位置。
Win32_LogicalMemoryConfiguration, // 逻辑内存配置
Win32_PageFile, // 系统页文件信息
Win32_PageFileSetting, // 页文件设置
Win32_BootConfiguration, // 系统启动配置
Win32_ComputerSystem, // 计算机信息简要
Win32_OperatingSystem, // 操作系统信息
Win32_StartupCommand, // 系统自动启动程序
Win32_Service, // 系统安装的服务
Win32_Group, // 系统管理组
Win32_GroupUser, // 系统组帐号
Win32_UserAccount, // 用户帐号
Win32_Process, // 系统进程
Win32_Thread, // 系统线程
Win32_Share, // 共享
Win32_NetworkClient, // 已安装的网络客户端
Win32_NetworkProtocol, // 已安装的网络协议

参考引用

【C#】C#获得计算机硬件信息和操作系统信息,ManagementObjectSearcher

C#获得计算机硬件信息和操作系统信息相关推荐

  1. ua-parser-js实现获取浏览器信息和操作系统信息

    获取 使用教程 转载于:https://www.cnblogs.com/sue7/p/9493774.html

  2. springboot查看请求ip、ip归属地、设备信息、本地MAC地址、操作系统信息

    springboot查看请求ip.ip归属地.设备信息.操作系统信息 1.在pom添加依赖 <dependency><groupId>eu.bitwalker</grou ...

  3. linux 查询内存和核心数,Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数...

    1.查看物理CPU的个数 [root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc ...

  4. 在线检测计算机硬件信息,JS获取客户端计算机硬件信息与系统信息大全

    var info = allinfo(); document.write(info); var locator = new ActiveXObject ("WbemScripting.SWb ...

  5. 获取本地IP地址信息,请求地址,请求的操作系统信息 ,浏览器信息

    程序运行效果图,如果这种有你需要的信息,不妨随着小编一起看下去吧! (1)接口 在浏览器上访问 localhost:8089/test/cs @RequestMapping("/cs&quo ...

  6. 【小沐学C++】C++获取计算机硬件信息(Linux)

    C++获取计算机硬件信息(Windows) https://blog.csdn.net/hhy321/article/details/121258036 C++获取计算机硬件信息(Linux) htt ...

  7. OPK修改操作系统信息 --oobe.xml

    OPK修改操作系统信息<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /& ...

  8. 使用 C# 获取计算机硬件信息

    今天我们向您展示如何使用 C# 获取计算机硬件信息.您可以获取您的系统信息,如处理器 ID.硬盘序列号.系统 MAC 地址.主板制造商.主板产品 ID.CD-DVD 驱动器路径.BIOS 制造商.BI ...

  9. 使用Sigar包获取操作系统信息

    项目中的一个需求是获取操作系统的相关信息,  在网上找了相关的资料,发现了一个好的玩意,就是Sigar,它是通过java api的方式来调用程序,基本上能够获取操作系统的全部信息,感觉挺强大的.Sig ...

最新文章

  1. Angular:Promise.all()的具体应用
  2. c++读取json文件_SPARK入门 - json文件读取
  3. PAT甲级1041 Be Unique :[C++题解]模拟、哈希表
  4. CRM Fiori offline技术实现:index.html under CRM.www folder
  5. sata接口测试软件,如何查看电脑是否支持USB 3.0?Hwinfo32检测SATA端口的方法
  6. spring cloud + spring boot + springmvc+mybatis分布式微服务云架构
  7. 重构javascript_JavaScript代码清理:如何重构以使用类
  8. LeetCode刷题(17)
  9. Django 输出二维码
  10. 根据车辆型号自动生成车辆编号
  11. 共享计算机无法打开文件,Windows7局域网无法打开共享文件分析
  12. bat脚本的常用特殊符号
  13. 【错解】【附正解】“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 - E 赛马
  14. PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现
  15. vmware安装linux后没有声音,安装虚拟机后没声音了
  16. 堪称神级的开源笔记应用!
  17. Python-Web之前端基础介绍(上)
  18. Unity3D白皮书(二)纹理导入设置
  19. item2 + oh-my-zsh
  20. Matlab------------怎么取一个复数的实部和虚部

热门文章

  1. CRM介绍、呼叫中心系统
  2. 计算机网络课程改革,计算机网络专业课程改革的探究
  3. nokia5110液晶屏显示汉字,图形,…
  4. 学会分析网站原始访问日志
  5. html中的垂直居中实现
  6. 牛客竞赛每日俩题 - 动态规划2
  7. 2022时事政治考试题库精选
  8. 0 17在c语言中什么意思,exit(0)在c语言中是什么意思
  9. msk 频偏_快速估算msk信号载波的方法
  10. 计算机基础:(计算机的起源与发展)