开发者社区> 老朱教授> 正文

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
计算机基础-------硬盘、内存、cpu的理解
计算机基础-------硬盘、内存、cpu的理解
45 0
服务器分类、CPU、硬盘和系统| 学习笔记
快速学习服务器分类、CPU、硬盘和系统
156 0
你还不懂硬盘,内存和CPU的关系 ?(程序员入门)
你好我是辰兮,很高兴你能来阅读,本篇文章小结了硬盘,内存和CPU的关系,献给初学者,分享获取新知,大家共同进步。
318 0
天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍
存储器的层次结构、层次关系、存储器之间的实际价格和性能差距
63 0
硬盘大佬也玩CPU!西部数据公布RISC-V自研架构SweRV及开源指令集模拟器
西部数据预计硬件和软件将用于大数据和快速数据应用的各种解决方案,包括闪存控制器和SSD。
461 0
C#/VB.NET 获取电脑属性(硬盘ID、硬盘容量、Cpu序列号、MAC地址、系统类型)
原文:C#/VB.NET 获取电脑属性(硬盘ID、硬盘容量、Cpu序列号、MAC地址、系统类型) 在开发过程中,经常需要获取电脑的一些属性,如获取硬盘ID/CPU序列号/MAC地址作为来加密字符串。 1、硬盘 在我查看网上一些文档时,发现很多人对硬盘序列号很模糊~ 什么叫硬盘序列号?指的是作为一个硬盘的标识;但是有时候发现,同事的电脑硬盘序列号有重复的。
1232 0
4核CPU 4G内存 500G硬盘 8M宽带 这样的配置 要租赁云服务器 一年费用大概多少
4核CPU 4G内存 500G硬盘 8M宽带 这样的配置 要租赁云服务器 一年费用大概多少 在阿里云官网上有,可以自动计算价格的。 你按照如下链接选择配置,系统会自动结算哈 https://s.
3163 0
+关注
老朱教授
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
RDS SQL Server CPU高使用率性能优化
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载