Delphi获取本机IP和MAC地址

Delphi 里要搞清楚电脑的 IP 和 MAC 地址,其实没想象中那么麻烦。

Delphi 的TNetHelper类挺方便,直接用GetHostAddresses就能拿到所有本地 IP,响应也快,基本够用。顺带还能识别 IPv4、IPv6,一行行打印出来直观。

MAC 地址就稍微底层一点,要用到WinApi.Iphlpapi这一套。虽然名字看着吓人,但逻辑不复杂。只要接口状态是启用的、类型是以太网的,提取前 6 位就能搞到标准格式的 MAC 值。

项目结构也比较清晰,Unit1.pas里封装了主逻辑,Project1.dpr就是入口,运行下来看效果一目了然。如果你平时在维护局域网环境或者搞设备注册,这功能挺实用的。

如果你还想搞明白 IP 协议细节或者 Delphi 的网络编程,可以看看这些相关文章:IPV4 与 IPV6 兼容的 socket 编程Delphi IPv6 Socket Component Update。扩展性还不错。

小提醒:MAC 地址不是所有适配器都能取到,比如虚拟机或 VPN 环境下为空,开发时记得容错下。

zip
获取IP.zip 预估大小:16个文件
folder
__history 文件夹
file
Unit1.pas.~4~ 5KB
file
Unit1.pas.~3~ 5KB
file
Unit1.pas.~1~ 3KB
file
Unit1.pas.~2~ 5KB
file
Unit1.dfm.~3~ 1KB
file
Unit1.dfm.~2~ 1KB
file
Unit1.dfm.~1~ 984B
file
Unit1.dfm 1KB
folder
Debug 文件夹
folder
Win32 文件夹
file
Unit1.dcu 10KB
file
Project1.exe 992KB
file
Project1.dpr 230B
file
Unit1.pas 5KB
file
Project1.identcache 105B
file
Project1.res 90KB
file
Project1.dproj 5KB
file
Project1.dproj.local 2KB
zip 文件大小:578KB