C#获取CPU序列号/网卡MAC地址/硬盘序列号

C#获取CPU序列号代码
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 框架的开发人员可以使用他们的当前技能访问有关计算机或应用程序的管理信息。




获取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 );
}




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2010/04/15/1712782.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/365775

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。