C# 获取电脑硬件和系统信息

在winform开发中,会需要采集客户端或者服务器的硬件信息和系统信息,本文就具体介绍如何获取这些数据。

获取这些数据,主要用到ManagementObjectSearcher类。

概述

基于指定的查询检索管理对象的集合,

使用方法:通过Key找到对象的集合,然后遍历集合

csharp 复制代码
  private void button1_Click(object sender, EventArgs e)
 {
     string keyValue = "Win32_Processor";
     textBox1.Text = GetInfo(keyValue);
 }

 public string GetInfo(string key)
 {
     string ResultStr = string.Empty;
     ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from "+key);
     foreach(ManagementObject s in searcher.Get())
        {
          if(s["Name"]!= null)
          {
            ResultStr = s["Name"].ToString();
          }
         }
     return ResultStr;
 }

运行结果如图:

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 //已安装的网络协议

Win32_PnPEntity //all device 【所有设备】

属性

Caption --简短说明

ConfigOptions --数组,表示位于在底板上跳线和开关的配置。

CreationClassName --表示类的名称(就是Win32_baseboard类)

Depth --以英寸为单位的物理封装。

Description --对象的描述(底板)

Height --用英寸表示的物理包的高度

HostingBoard --如果为TRUE,该卡是一个主板,或在一个机箱中的基板。

HotSwappable --如果为TRUE,就是支持热插拔(判断是否支持热插拔)

InstallDate --日期和时间对象安装。此属性不需要的值以表示已安装的对象。

Manufacturer --表示制造商的名称

Model --物理元素的名称是已知。

Name --对象的名称标签

OtherIdentifyingInfo --捕获附加数据,超出资产标签的信息,可以用来标识物理元件

PartNumber --由负责生产或制造的物理元素的组织分配部件编号。

PoweredOn --如果为真,物理元素处于开机状态。

Product --产品的型号

Removable --判断是否可拆卸的

Replaceable --判断是否可更换的

RequirementsDescription --自由格式字符串描述方式,这张卡是身体不同于其他卡。该属性才有意义时,相对应的布尔值属性特殊要求是集真的

RequiresDaughterBoard --如果是TRUE,至少一个子板或辅助卡才能正常工作。

SerialNumber --制造商分配的用于识别所述物理元件数目。

SKU --库存的物理单元号。

SlotLayout --描述插槽位置

SpecialRequirements --如果为真,此卡是同类型的其他卡物理上唯一的,因此需要一个专门的插槽

Status --对象的当前状态。

Tag --符系统的基板唯一标识

Version --物理元素的版本

Weight --物理元素的重量英镑表示

Width --用英寸表示的物理元素的宽度

相关推荐
未来之窗软件服务1 小时前
操作系统应用(三十七)C#华旭金卡身份证SDK-HX-FDX3S—东方仙盟筑基期
开发语言·c#·身份证阅读器·酒店管理系统·仙盟创梦ide
切糕师学AI1 小时前
C# 如何回收整个 EF(DbContext)对象及其相关实体的内存?
c#·gc·垃圾回收·ef
momo小菜pa2 小时前
C#--BindingList
开发语言·c#
我是唐青枫2 小时前
C# 列表模式(List Patterns)深度解析:模式匹配再进化!
c#·.net
云草桑2 小时前
Net 模拟退火,遗传算法,禁忌搜索,神经网络 ,并将 APS 排程算法集成到 ABP vNext 中
c#·.net·制造
范小多2 小时前
mysql实战 C# 访问mysql(连载三)
数据库·mysql·oracle·c#
我是唐青枫5 小时前
C# 泛型数学:解锁真正的类型安全数值运算
c#·.net
故事不长丨11 小时前
C#定时器与延时操作的使用
开发语言·c#·.net·线程·定时器·winform
阿桂有点桂11 小时前
C#使用VS软件打包msi安装包
windows·vscode·c#