通过WMI获取系统信息_getwmiproperty mac-程序员宅基地

技术标签: DELPHI开发  

通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
Delphi通过WMI获取系统信息
uses ActiveX, ComObj;

function GetWMIProperty(WMIType, WMIProperty: string): string;
var
  Wmi, Objs, Obj: OleVariant;
  Enum: IEnumVariant;
  C: Cardinal;
begin
  Wmi:= CreateOleObject('WbemScripting.SWbemLocator');
  Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_' + WMIType);
  Enum := IEnumVariant(IUnknown(Objs._NewEnum));
  Enum.Reset;
  Enum.Next(1, Obj, C);
  Obj := Obj.Properties_.Item(WMIProperty, 0).Value;
  Result := Obj;
end;
 

// 获取硬盘序列号
ShowMessage(GetWMIProperty('DiskDrive', 'PNPDeviceID'));
// 获取BISO序列号
ShowMessage(GetWMIProperty('BIOS', 'SerialNumber'));
// 获取网卡MAC地址
ShowMessage(GetWMIProperty('NetworkAdapter', 'MACAddress'));
// 获取网卡序列号
ShowMessage(GetWMIProperty('NetworkAdapter', 'PNPDeviceID'));
// 获取CPU序列号
ShowMessage(GetWMIProperty('Processor', 'ProcessorId'));

也可以用同样的方法获得任意感兴趣的系统信息,比如正在运行的进程、账户信息等等。

更多WMI的信息参考:
http://www.microsoft.com/whdc/system/pnppwr/wmi/default.mspx
http://msdn2.microsoft.com/en-us/library/aa394572.aspx
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/nextop88/article/details/73457490

智能推荐

成功解决object at 0x000002463192BAC8-程序员宅基地

文章浏览阅读2.8w次,点赞8次,收藏20次。成功解决object at 0x000002463192BAC8目录解决问题解决思路解决方法解决问题Q1、 <pymssql.Cursor object at 0x000002463192BAC8>|object at 0x00000135BF6FBAC8>Q2、有的错误是因为没有加小括号print(resu..._object at

微信小程序之周边乡村游系统源码+论文+答辩PPT+开题报告_基于微信小程序的家乡文化系统-程序员宅基地

文章浏览阅读130次。首页、个人中心、游客管理、景点信息管理、景点美食管理、美食类型管理、景点攻略管理、特产信息管理、特产类型管理、留言板管理、系统管理、订单管理等功能。开发软件:微信开发者工具、后端使用IDEA/Eclipse/MyEclipse。首页、景点信息、景点美食、特产信息、我的等详细的了解及统计分析。微信小程序端:Vue+uni-app。后端:Java+SSM。_基于微信小程序的家乡文化系统

宏基因组,分箱时报错_badly formed genome unclippedloc: contig chr1 give-程序员宅基地

文章浏览阅读468次。宏基因组分箱时遇到错误,有什么解决办法吗?运行命令:metawrap binning -o INITIAL_BINNING -t 8 -a assebbly/final_assembly.fasta --metabat2 --maxbin2 --concoct clean_reads/ERR*fastq谢谢各位大神,请指教。_badly formed genome unclippedloc: contig chr1 given as location, but this co

Python反爬JS逆向解析(七)-----某不知名网站js加密cookie反爬_execjs._exceptions.programerror: referenceerror: d-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏16次。采集前建议:找好代理IP,别对该网站发起攻击性访问,否则爬虫用的好,监狱进的早1.网站:点此直达该不知名网站 2.正常请求网站:拿到网址,查看完基本的信息后,应该就是用代码对网站发起请求了。# -*- coding: UTF-8 ..._execjs._exceptions.programerror: referenceerror: document is not defined

数据结构与算法之树结构基础-程序员宅基地

文章浏览阅读527次,点赞12次,收藏18次。大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。麻烦帮忙转发一下这篇文章+关注我《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!图片转存中…(img-JuX94DNd-1713713136245)]

AutoSAR_BSW高阶 126. AUTOSAR E2E通信保护配置实践:E2EPW配置TX发送的Signal Group(E2E Profile 1)_e2e profile1代码-程序员宅基地

文章浏览阅读165次。E2E通信保护是一种机制,用于确保从一个通信节点到另一个通信节点的数据的完整性和可靠性。在车辆电子系统中,这种机制至关重要,因为数据通信可能涉及到关键的安全和功能相关数据,如制动系统、引擎控制、传感器数据等。E2E通信保护通过使用不同的校验方法和保护级别,确保数据在传输过程中不受损坏或篡改。E2E Profile 1是E2E通信保护的一种配置,它提供了基本的安全性和完整性保护。在E2E Profile 1中,数据包含了CRC(循环冗余校验)校验码,以检测数据的完整性。_e2e profile1代码

随便推点

使用国内的软件源解决升级至最新版Linux Mint una 20.3缓慢或升级失败的问题_linux mint20.3 una设置源-程序员宅基地

文章浏览阅读2.5k次。最近几天Linux Mint 官方发布了最新版的una 20.3,操作系统的更新管理器也提示进行升级,但是点击菜单项“ 编辑--升级到 linuxmint20.3” 后升级的镜像源就由本地又变成了国外源了,主要的镜像源(una)变成了位于美国的"http://packages.linuxmint.com",而基础的Ubuntu软件源(focal)变成位于英国的"http://archive.ubuntu.com/ubuntu/";在执行更新命令进入下载阶段后,位于英国的Ubuntu源还基本可以下载,只是比国_linux mint20.3 una设置源

unity 文字滚动显示_Unity 为UGUI Text添加滑动条-程序员宅基地

文章浏览阅读814次。给Text创建滑动条还是蛮简单的。一、首先创建一个Scroll View,然后删除横向滑动image.png二、修改竖向滑动条设置image.png三、为Content添加Textimage.png四、再为Content添加ContentSizeFitterimage.png五、选择适配方向image.png六、完成image.png完成了以上步骤就算是实现了功能,可以实现Text的拖拽了,下面我..._unity scroll view text

Qt tabwidget 标签页设置tabbar标题,tabwidget设置透明色_tabwidget设置tab头的颜色-程序员宅基地

文章浏览阅读6.8k次,点赞6次,收藏28次。1.使用paintevent事件对窗口进行背景设置,背景如下图所示。2.将tabwidget拖动进ui窗口中,编译运行效果如下,tabwidget会将背景图给遮挡,需要将tabwidget设置为透明色。使用语句:ui->tabWidget->setStyleSheet("QTabWidget:pane {border-top:0px solid #e8f3f9;background: transparent; }");,之后的显示效果如下,紧接着有着标签页tabbar的字体和样式更改_tabwidget设置tab头的颜色

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol_linking... libcd.lib(wincrt0.obj) : error lnk2001:-程序员宅基地

文章浏览阅读1.4w次,点赞11次,收藏20次。学习VC++时经常会遇到链接错误LNK2001,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。产生LNK2001错误的原因:一个是由于编码错误导致的LNK2001,在这不想详细说.另一个由于编译和链接的设置而造成的LNK2001.最经常发生的是:"LIBCD.lib(wincrt0.obj) : error LNK2001: u_linking... libcd.lib(wincrt0.obj) : error lnk2001: unresolved external symbo

vue v-for 传值_v-for 可以调用方法传参数吗-程序员宅基地

文章浏览阅读6.5k次。学习vue框架的第两天,今天主要研究v-for的使用v-for的一些使用技巧:https://blog.csdn.net/qq_32953185/article/details/83066871之前能够获取数值的值,但是不知道如何从中获取一条值。突然受到启发使用参数,然后传值,具体要求:1:显示上面书籍列表中的所有书籍名称。点击书籍名称显示书籍的具体信息(书名和价格)。鼠..._v-for 可以调用方法传参数吗