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

相关文章
|
人工智能 并行计算 openCL
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
|
6月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
4月前
|
算法 测试技术 AI芯片
CPU反超NPU,llama.cpp生成速度翻5倍!LLM端侧部署新范式T-MAC开源
【9月更文挑战第7天】微软研究院提出了一种名为T-MAC的创新方法,旨在解决大型语言模型在资源受限的边缘设备上高效部署的问题。T-MAC通过查表法在CPU上实现低比特LLM的高效推理,支持混合精度矩阵乘法,无需解量化。其通过位级查表实现统一且可扩展的解决方案,优化数据布局和重用率,显著提升了单线程和多线程下的mpGEMV及mpGEMM性能,并在端到端推理吞吐量和能效方面表现出色。然而,表量化和快速聚合技术可能引入近似和数值误差,影响模型准确性。论文详见:[链接](https://www.arxiv.org/pdf/2407.00088)。
229 10
|
5月前
|
设计模式 uml
在电脑主机(MainFrame)中只需要按下主机的开机按钮(on()),即可调用其它硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(Hard
该博客文章通过一个电脑主机启动的示例代码,展示了外观模式(Facade Pattern)的设计模式,其中主机(MainFrame)类通过调用内部硬件组件(如内存、CPU、硬盘)和操作系统的启动方法来实现开机流程,同时讨论了外观模式的优缺点。
|
5月前
|
KVM 虚拟化
[kvm]cpu内存硬盘配置
[kvm]cpu内存硬盘配置
|
6月前
|
Linux
Realtek 网卡 支持RK vendor mac地址写入
Realtek 网卡 支持RK vendor mac地址写入
169 4
|
6月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
8月前
|
安全 Java iOS开发
MAC OS X 硬盘安装详细分解教程
MAC OS X 硬盘安装详细分解教程
252 1
|
8月前
|
监控 Shell
Shell脚本监控CPU、内存和硬盘利用率
Shell脚本监控CPU、内存和硬盘利用率
|
8月前
|
运维 Linux
Linux 查询 OS、CPU、内存、硬盘信息
Linux 查询 OS、CPU、内存、硬盘信息
146 0