C#获得计算机硬件信息和操作系统信息
获取电脑的一些硬件信息
- 前言
- 一、准备
- 二、获取硬件信息
- 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#获得计算机硬件信息和操作系统信息相关推荐
- ua-parser-js实现获取浏览器信息和操作系统信息
获取 使用教程 转载于:https://www.cnblogs.com/sue7/p/9493774.html
- springboot查看请求ip、ip归属地、设备信息、本地MAC地址、操作系统信息
springboot查看请求ip.ip归属地.设备信息.操作系统信息 1.在pom添加依赖 <dependency><groupId>eu.bitwalker</grou ...
- linux 查询内存和核心数,Linux下查看操作系统信息、内存情况及cpu信息:cpu个数、核心数、线程数...
1.查看物理CPU的个数 [root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc ...
- 在线检测计算机硬件信息,JS获取客户端计算机硬件信息与系统信息大全
var info = allinfo(); document.write(info); var locator = new ActiveXObject ("WbemScripting.SWb ...
- 获取本地IP地址信息,请求地址,请求的操作系统信息 ,浏览器信息
程序运行效果图,如果这种有你需要的信息,不妨随着小编一起看下去吧! (1)接口 在浏览器上访问 localhost:8089/test/cs @RequestMapping("/cs&quo ...
- 【小沐学C++】C++获取计算机硬件信息(Linux)
C++获取计算机硬件信息(Windows) https://blog.csdn.net/hhy321/article/details/121258036 C++获取计算机硬件信息(Linux) htt ...
- OPK修改操作系统信息 --oobe.xml
OPK修改操作系统信息<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /& ...
- 使用 C# 获取计算机硬件信息
今天我们向您展示如何使用 C# 获取计算机硬件信息.您可以获取您的系统信息,如处理器 ID.硬盘序列号.系统 MAC 地址.主板制造商.主板产品 ID.CD-DVD 驱动器路径.BIOS 制造商.BI ...
- 使用Sigar包获取操作系统信息
项目中的一个需求是获取操作系统的相关信息, 在网上找了相关的资料,发现了一个好的玩意,就是Sigar,它是通过java api的方式来调用程序,基本上能够获取操作系统的全部信息,感觉挺强大的.Sig ...
最新文章
- Angular:Promise.all()的具体应用
- c++读取json文件_SPARK入门 - json文件读取
- PAT甲级1041 Be Unique :[C++题解]模拟、哈希表
- CRM Fiori offline技术实现:index.html under CRM.www folder
- sata接口测试软件,如何查看电脑是否支持USB 3.0?Hwinfo32检测SATA端口的方法
- spring cloud + spring boot + springmvc+mybatis分布式微服务云架构
- 重构javascript_JavaScript代码清理:如何重构以使用类
- LeetCode刷题(17)
- Django 输出二维码
- 根据车辆型号自动生成车辆编号
- 共享计算机无法打开文件,Windows7局域网无法打开共享文件分析
- bat脚本的常用特殊符号
- 【错解】【附正解】“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 - E 赛马
- PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现
- vmware安装linux后没有声音,安装虚拟机后没声音了
- 堪称神级的开源笔记应用!
- Python-Web之前端基础介绍(上)
- Unity3D白皮书(二)纹理导入设置
- item2 + oh-my-zsh
- Matlab------------怎么取一个复数的实部和虚部