Delphi 获取MAC 地址

function GetMacAddress(index:integer):string;
var
   ncb : TNCB;                {NetBios控制块}
   AdapterS : TAdapterStatus; {网卡状态结构}
   LanaNum : TLanaeNum;       {Netbios Lana}
   i : integer;
   rc : Char;                 {NetBios的返回代码}
   str : String;
begin
   Result := ‘‘;
   try
      ZeroMemory(@ncb, SizeOf(ncb));   {NetBios控制块清零}
      ncb.ncb_command := chr(NCBENUM); {ENUM}
      rc := NetBios(@ncb);             {取返回代码}

ncb.ncb_buffer := @LanaNum;      {再一次处理ENUM命令}
      ncb.ncb_length := Sizeof(LanaNum);
      rc := NetBios(@ncb);             {取返回代码}

if ord(rc)<>0 then exit;

ZeroMemory(@ncb, Sizeof(ncb));   {NetBios控制块清零}
      ncb.ncb_command := chr(NCBRESET);
      ncb.ncb_lana_num := LanaNum.lana[index];
      rc := NetBios(@ncb);
      if ord(rc)<>0 then exit;
     
      ZeroMemory(@ncb, Sizeof(ncb));   {取网卡的状态}
      ncb.ncb_command := chr(NCBASTAT);
      ncb.ncb_lana_num := LanaNum.lana[index];
      StrPCopy(ncb.ncb_callname,‘*‘);
      ncb.ncb_buffer := @AdapterS;
      ncb.ncb_length := SizeOf(AdapterS);
      rc := NetBios(@ncb);
     
      str := ‘‘;                       {将MAC地址转换成字符串}
      for i:=0 to 5 do
         str := str + IntToHex(Integer(AdapterS.adapter_address[i]),2); 
      Result := str;
   finally
   end;
end;

Delphi 获取MAC 地址

时间: 2024-10-19 00:42:17

Delphi 获取MAC 地址的相关文章

C#获取MAC地址

/// <summary> /// 获取MAC地址(返回第一个物理以太网卡的mac地址) /// </summary> /// <returns>成功返回mac地址,失败返回null</returns> public string getMacAddress() { string macAddress = null; try { NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterface

Python windows下获取MAC地址的一种方法

我最近有一个项目,使用Python在win32下开发一个COM组建,该COM组建其中一个方法是获取本地电脑的MAC地址. 需求很简单,虽然我是Python新手中的新手,但我还是会使用搜索引擎进行搜索. 百度一下,发现大部分都介绍使用import UUID获取MAC地址,或使用os.popen("ipconfig /all")的方式获取.而后者容易受到操作系统中英文环境影响. 如这篇文章:http://www.cnblogs.com/Jerryshome/archive/2011/11/

android 获取MAC地址

由于WiFi 的Mac address 是一个被动咨询.一般在开机后,不会主动上到的系统里.要等待WiFi硬件启动后,才会把有关Mac address资料记载入系统去. 所以一般android系统获取Mac address时候会出现以下几种情况: 1.在WiFi打开的时候可以获取到Mac地址 2.关闭WiFi,不重启系统,也可以获取到Mac address 3.系统重启后,不打开WiFi,获取不到Mac address 4.系统重启后,不开开WiFi,打开2G.3G网络,获取不到Mac addr

android获取Mac地址和IP地址

获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信息获取本地Mac public static String getLocalMacAddressFromWifiInfo(Context context){ WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_

C#获取MAC地址的几种方法

首先需要用到的一些方法和类: public enum NCBCONST { NCBNAMSZ = 16, MAX_LANA = 254, NCBENUM = 0x37, NRC_GOODRET = 0x00, NCBRESET = 0x32, NCBASTAT = 0x33, NUM_NAMEBUF = 30, } [StructLayout(LayoutKind.Sequential)] public struct ADAPTER_STATUS { [MarshalAs(UnmanagedTy

【转载】获取MAC地址方法大全

From:http://blog.csdn.net/han2814675/article/details/6223617 Windows平台下用C++代码取得机器的MAC地址并不是一件简单直接的事情.到目前为止,作者尚未发现有任何一个通用的100%的适用于所有Windows平台的方法可以稳定的取得MAC地址.而有些应用(比如MMORPG)则需要稳定的得到机器的MAC地址,解决方案往往是通过多种方法依次使用来提高成功率. 说明: 以下方法只会返回多网卡的第一个MAC地址. 网上有很多文章和源码来解

C# 获取mac地址 本机或者 远程的

/// 获取本机网卡mac地址代码 /// </summary> /// <returns></returns> /// /// <summary> public string GetNetworkAdpaterID() { try { string mac = ""; System.Management.ManagementClass mc = new System.Management.ManagementClass("Wi

java获取mac地址-屏蔽ip封mac地址

首先要说的是:可以支持外网机器的mac地址获取.  以前弄了一个只能访问局域网. 有防火墙就访问不了, 但是这个不用担心了. 测试了百度的ip,已经可以获得mac地址 测试效果图: java通过ip获取mac地址-封ip封mac地址 版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载.

1.1.4 小试牛刀--编程实现获取MAC地址(1)

1.1.4  小试牛刀--编程实现获取MAC地址(1) 实例功能 使用Visual C++开发一个FTP传输系统 源码路径 光盘\yuanma\1\FTP 本实例的目的是,使用Visual C++ 6.0开发一个获取当前机器MAC地址的程序. 1. 选择开发工具 Visual C++是一个功能强大的可视化软件开发工具.自1993年Microsoft公司推出Visual C++ 1.0以来,不断有其新版本问世,随后微软又推出了.NET系列,添加了很多网络功能,但是它的应用有一定的局限性.Visua