Windows 管理规范 (WMI) 是可伸缩的系统管理结构,它采用一个统一的、基于标准的、可扩展的面向对象接口。WMI 为您提供与系统管理信息和基础 WMI API 交互的标准方法。WMI 主要由系统管理应用程序开发人员和管理员用来访问和操作系统管理信息。WMI 可用于生成组织和管理系统信息的工具,使管理员或系统管理人员能够更密切地监视系统活动。例如,可以使用 WMI 开发一个应用程序,用于在 Web 服务器崩溃时呼叫管理员。将 WMI 与 .NET 框架一起使用
WMI 提供了大量的规范以便为许多高端应用程序(例如,Microsoft Exchange、Microsoft SQL Server 和 Microsoft Internet 信息服务 (IIS))实现几乎任何管理任务。管理员可以执行下列任务: 监视应用程序的运行状况。
检测瓶颈或故障。
管理和配置应用程序。
查询应用程序数据(使用对 象关系的遍历和查询)。
执行无缝的本地或远程管理操作。
WMI 结构由以下三层组成: 客户端
使 用 WMI 执行操作(例如,读取管理详细信息、配置系统和预订事件)的软件组件。 对象管理器
提 供程序与客户端之间的中间装置,它提供一些关键服务,如标准事件发布和预订、事件筛选、查询引擎等。 提供程序
软 件组件,它们捕获实时数据并将其返回到客户端应用程序,处理来自客户端的方法调用并将客户端链接到所管理的基础结构。 通过定义完善的架构向客户端和应用程序无缝地提供了数据和事件以及配置系统的能力。在 .NET 框架中,System.Management 命名空间提供了用于遍历 WMI 架构的公共类。除了 .NET 框架,还需要在计算机上安装 WMI 才能使用该命名空间中的管理功能。如果使用的是 Windows Millennium Edition、Windows 2000 或 Windows XP,那么已经安装了 WMI。否则,将需要从 MSDN 下载 WMI。用 System.Management 访问管理信息
System.Management 命名空间是 .NET 框架中的 WMI 命名空间。此命名空间包括下列支持 WMI 操作的第一级类对象: ManagementObject 或 ManagementClass:分别为单个管理对象或类。
ManagementObjectSearcher:用于根据指定的查询或枚举检索 ManagementObject 或 ManagementClass 对象的集合。
ManagementEventWatcher:用于预订来自 WMI 的事件通知。
ManagementQuery:用作所有查询类的基础。
System.Management 类的使用编码范例对 .NET 框架环境很适合,并且 WMI 在任何适当的时候均使用标准基框架。例如,WMI 广泛利用 .NET 集合类并使用推荐的编码模式,如 .NET 异步操作的“委托”模式。因此,使用 .NET 框架的开发人员可以使用他们的当前技能访问有关计算机或应用程序的管理信息。请参见
使 用 WMI 管理应用程序 | 检索管理对象的集合 | 查询管理信息 | 预订和使用管理事件 | 执行管理对象的方法 | 远程处理和连接选项 | 使用强类型对象获取CPU序列号代码
string cpuInfo = "";//cpu序列号
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
Console.WriteLine(cpuInfo);
Console.ReadLine();
}获 取网卡硬件地址
using System.Management;
...
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if((bool)mo["IPEnabled"] == true)
Console.WriteLine("MAC address\t{0}", mo["MacAddress"].ToString());
mo.Dispose();
}
}获取硬盘ID
String HDid;
ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
HDid = (string)mo.Properties["Model"].Value;MessageBox.Show(HDid );
}

  

c# 读取机器CPU信息,硬盘信息,网卡信息相关推荐

  1. C# 读取机器CPU信息,硬盘信息,网卡信息(转载)

    Windows 管理规范 (WMI) 是可伸缩的系统管理结构,它采用一个统一的.基于标准的.可扩展的面向对象接口.WMI 为您提供与系统管理信息和基础 WMI API 交互的标准方法.WMI 主要由系 ...

  2. Linux_查看CPU信息、机器型号等硬件信息

    2019独角兽企业重金招聘Python工程师标准>>> Linux_查看CPU信息.机器型号等硬件信息 博客分类: linux 查看CPU信息(型号) # cat /proc/cpu ...

  3. C# 读取计算机CPU,HDD信息

    C# 读取计算机CPU,HDD信息 public string getCpuInfo() //读取CPU信息         {             ManagementClass mobj = ...

  4. Gem5模拟器,如何在linux系统中查看内存、CPU、硬盘、进程、网络等信息(十二)

    虽然说,这个记录的是与Linux相关的操作,每次查每次忘,必须写一个来归总一下,以免我漫山遍野找命令.但是不想新开一一个主题,再加上确实是在运行模拟器时会关注这方面的信息,就把这一节搁这儿啦. 常见的 ...

  5. Java如何获取系统cpu、内存、硬盘信息

    1 概述 前段时间摸索在Java中怎么获取系统信息包括cpu.内存.硬盘信息等,刚开始使用Java自带的包进行获取,但这样获取的内存信息不够准确并且容易出现找不到相应包等错误,所以后面使用sigar插 ...

  6. winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息

    winform取CPU编号.MAC地址.硬盘信息.IP地址.串口信息 http://www.cnblogs.com/ccczqh/archive/2011/03/28/1997480.html 作者: ...

  7. Linux 查询 OS、CPU、内存、硬盘信息

    文章目录 Linux 查询 OS.CPU.内存.硬盘信息 一.前言 二.关于服务器基本配置 2.1 操作系统基本配置查询 2.2 CPU基本配置查询 2.3 内存基本配置查询 2.4 硬盘基本配置查询 ...

  8. python获取设备硬件信息_Python实现读取机器硬件信息的方法示例

    本文实例讲述了Python实现读取机器硬件信息的方法.分享给大家供大家参考,具体如下: 本人最近新学python ,用到关于机器的相关信息,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法 ...

  9. linux查看显卡核心数,linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息 | 帮助信息-动天数据...

    linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息 作者:dthost | 时间:2015-09-30 | 8,325 次阅读 linux服务器 ...

最新文章

  1. 11.如何在非固定大小的地图图片上正确渲染ROS小车的位置和运行轨迹
  2. 通过describe命令学习Kubernetes的pod属性详解
  3. [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
  4. java c s测试_将Zlib Java与C进行基准测试
  5. 好消息acesse_真实的acesse爱搜索 黑心传销骗子
  6. Laravel 5.0 - Middleware (中间件)
  7. linux内核驱动模块开发步骤及实例入门介绍
  8. 机器学习实战之决策树
  9. 在c#中用mutex类实现线程的互斥_C# 多线程系列(4)进程同步Mutex类
  10. Android 驱动开发(14)---深入学习Linux Device Tree
  11. 工作中遇到很让人头疼的上司怎么办?
  12. 三调业务摘要201709
  13. 如何在Ubuntu MATE 18.04中安装GNOME 3?
  14. Spring学习笔记-C7-SpringMVC高级技术
  15. Visual Leak Detector使用方法
  16. POJ 2856 Y2K Accounting Bug【简单暴力】
  17. 基于TI AM335X的工业网关参考设计分享
  18. 详解非局部均值滤波原理以及用MATLAB源码实现
  19. unity3d中ScriptingBackend选择mono和il2cpp的区别
  20. 智能向左,设计向右,酒店行业进入“智美新时代”

热门文章

  1. WPF利用动画实现圆形进度条
  2. WDCP管理面板安装启动EXIF、bcmath完整步骤
  3. SpringMVC 实例应用 -- 不同方式控制器实现与参数传递
  4. asp.net广告控件的使用
  5. Windows消息机制-PreTranslateMessage
  6. android view销毁回调,Android View 常用的回调方法
  7. 物联网通信协议_自动化机器上的物联网网关的目的是什么?
  8. python列表生成器语法_python语法_列表生成器_生成器_迭代器_异常捕获
  9. OSG与opengl的shader结合
  10. Android开发面试题之Activity启动模式讲解总结