首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Delphi获取网卡的MAC地址?

要使用Delphi获取网卡的MAC地址,您可以使用Windows API函数GetAdaptersInfo。以下是一个简单的示例代码:

代码语言:delphi
复制
program GetMacAddress;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  IpHlpApi;

function GetMacAddress: string;
var
  pAdapterInfo: PIP_ADAPTER_INFO;
  pAdapter: PIP_ADAPTER_INFO;
  dwRetVal: DWORD;
  i: Integer;
  macAddress: string;
begin
  pAdapterInfo := nil;
  dwRetVal := GetAdaptersInfo(pAdapterInfo, nil);
  if dwRetVal = ERROR_BUFFER_OVERFLOW then
  begin
    pAdapterInfo := AllocMem(dwRetVal);
    dwRetVal := GetAdaptersInfo(pAdapterInfo, dwRetVal);
    if dwRetVal = NO_ERROR then
    begin
      pAdapter := pAdapterInfo;
      while pAdapter <> nil do
      begin
        macAddress := '';
        for i := 0 to pAdapter^.AddressLength - 1 do
        begin
          if i > 0 then
            macAddress := macAddress + '-';
          macAddress := macAddress + IntToHex(pAdapter^.Address[i], 2);
        end;
        Result := macAddress;
        pAdapter := pAdapter^.Next;
      end;
    end;
  end;
  if Assigned(pAdapterInfo) then
    FreeMem(pAdapterInfo);
end;

begin
  try
    WriteLn('MAC address: ' + GetMacAddress);
  except
    on E: Exception do
      WriteLn(E.ClassName, ': ', E.Message);
  end;
end.

这段代码将获取计算机的所有网络适配器的MAC地址,并将其作为字符串返回。请注意,如果计算机有多个网络适配器,此代码将返回第一个适配器的MAC地址。

在这个示例中,我们使用了GetAdaptersInfo函数,它是Windows IP Helper API的一部分。您需要在使用此代码之前将IpHlpApi添加到您的项目中的uses子句中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CC++ 获取主机网卡MAC地址

这个地址是数据链路层(OSI模型第二层)一部分,用于在局域网(LAN)中唯一标识网络设备。获取网卡地址主要用于网络标识和身份验证目的。...MAC地址是一个唯一硬件地址,通常由网卡制造商在制造过程中分配。通过获取MAC地址可以判断当前主机唯一性可以与IP地址绑定并实现网络准入控制。...在Windows平台下获取MAC地址方式有很多,获取MAC地址常见方式包括使用操作系统提供网络API(如WindowsGetAdaptersAddresses和GetAdaptersInfo),...GetAdaptersInfo获取计算机网卡MAC地址。...函数首先通过NCBRESET命令重置指定网卡以便进行查询。接着,使用NCBASTAT命令获取接口卡状态块,其中包含了适配器物理地址

46730

Python获取本机网卡MAC地址、IP地址和路由表

一、获取Mac地址 1、单个网卡 >>> import uuid >>> address = hex(uuid.getnode())[2:] >>> '-'.join(address[i:i+2] for...i in range(0, len(address), 2)) 'f0-03-8c-09-8c-34' 2、获取网卡MAC地址 使用pip安装Python扩展库psutil,运行以下代码: from...IP地址 1、windows下: Python标准库socket中有可以获取本机IPV4地址方法,下面是网上非常常见一种用法: >>> import socket >>> hostname = socket.gethostname...下运行良好,但是无意中发现在Mac系统下运行不正常,返回是本机回环地址127.0.0.1,而不是真正IP地址。...192.168.0.103' 三、路由表 方法:采用ARP协议获取局域网内所有计算机IP地址MAC地址,思路是使用系统命令arp获取ARP表并生成文本文件,然后从文件中读取和解析信息。

83910

如何优雅获取 Mac OS 系统 IP 地址

目录 前言 正文 结尾 前言 用惯了 windows 系统电脑,再使用苹果电脑时,总会有各种不习惯。...比如,在获取电脑 IP 地址时候,windows 电脑使用 ipconfig 命令就能非常方便获取。但是,在苹果电脑上,使用类似的命令工具 ifconfig 却不那么方便了。...因为系统会打印出很多无用网卡信息,那么我们如何能够在 Mac 系统上优雅获取 IP 地址呢?这就是我们今天想要介绍内容。...正文 我们都知道,在 windows 电脑上使用 ipconfig 命令就能非常方便获取本机 IP 地址Mac 上也有类似的命令工具———— ifconfig,但是并不是很好用。...结尾 哈哈,直到今天,终于知道如何在苹果电脑上优雅用命令行获取 IP 地址信息了,感兴趣小伙伴,自己赶紧复制粘贴命令试试吧!

3K00

linux手动、自动更改网卡MAC地址方法

字节十六进制数就是网卡MAC地址了,也就是 f0:de:f1:ad:1d:f0 手工修改MAC地址 使用ip命令也能修改MAC地址,但是需要root权限: 1、禁用网卡 sudo ip link set...Link小节 Link小节可以对网卡进行多种配置,其中与修改MAC有关选项有: MACAddressPolicy 应该如何设置网卡MAC地址: “persistent” 如果内核使用网卡硬件固有的...MAC地址(绝大多数网卡都有), 那么啥也不做,直接使用内核MAC地址。...“random” 如果内核使用了随机生成MAC地址(而不是网卡硬件固有的MAC地址), 那么啥也不做,直接使用内核MAC地址。...另外,Link小节中,我们必须为某个网卡进行命名,因此肯定会有 NamePolicy 或者 Name 选项 NamePolicy 应该如何设置网卡名称, 仅在未使用 “net.ifnames=0″

7.7K10

Android 获取蓝牙Mac地址正确方法

android 从6.0开始,通过BluetoothAdapter.getDefaultAdapter().getAddress()获取地址是一个固定值02:00:00:00:00:00。...6.0已经对蓝牙Wi-FiMAC地址做了隐藏。 以下方法能正确获取android自带蓝牙Mac地址: 1.添加net.vidageek:mirror:1.6.1 ? 2.实现过程 ?...本人也尝试过其他方法获取,比如从cat /sys/class/net/wlan0/address 或者/sys/class/net/eth0/address路径获取,该方式有些手机能获取得到,有的不能或缺...,获取Mac 地址还不一定准确。...总结 以上所述是小编给大家介绍Android 获取蓝牙Mac地址正确方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家。在此也非常感谢大家对ZaLou.Cn网站支持!

5.9K10

Android手机获取Mac地址几种方法

最常用方法,通过WiFiManager获取: /** * 通过WiFiManager获取mac地址 * @param context * @return */ private static...,返回是null,其实是返回“02:00:00:00:00:00” 根据本地IP获取: /** * 根据IP地址获取MAC地址 * @return */ private static String...en_netInterface.nextElement();//得到下一个元素 Enumeration<InetAddress en_ip = ni.getInetAddresses();//得到一个ip地址列举...有跟多:dummy0、p2p0、wlan0….其中wlan0就是我们需要WiFi mac地址。...这个方法Android 7.0及其以下版本都可以获取到。 总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,谢谢大家对ZaLou.Cn支持。

14.3K20

如何十秒使用macchange修改mac地址

大家都知道mac地址是可以临时修改,这里我给新手朋友介绍一个kali内置比较好用小工具,可以收藏一下哦。 简介: 这是一款可临时修改mac地址软件,kali中内置....mac地址 -e, --ending 不改变mac前三个字节(代表生产厂商) -a, --another 随机前三个字节(所有生成mac...都是相同) -A 设置随机厂商任意类型 -p, --permanent 完全修改硬件mac地址 -r, --random...设置自定义mac 实战操作: 首先我们ifconfig查看自己网卡 比如我们需要修改eth0mac 我们就需要先将他关闭 ifconfig eth0 down 关闭网卡,我这里在xshell上操作就卡死了...我们启动一下网卡: ifconfig eth0 up 再次查询发现已经修改成功 同理,我们将-m参数换成-r,就可以直接随机生成一个mac 例: macchange -r eth0 一共三步, 先关闭要修改网卡

2K20
领券