Delphi获取本机的MAC地址:

uses

  NB30;

function GetAdaPterInfo(lana: Char): string;

var

  Adapter: TAdapterStatus;

  NCB: TNCB;

begin

  FillChar(NCB,Sizeof(NCB),0);

  NCB.ncb_command := Char(NCBRESET);

  NCB.ncb_lana_num := Lana;

  if Netbios(@NCB) <> Char(NRC_GOODRET) then

  begin

    Result := 'mac not found';

    exit;

  end;

  FillChar(NCB,Sizeof(NCB),0);

  NCB.ncb_command := Char(NCBASTAT);

  NCB.ncb_lana_num := Lana;

  NCB.ncb_callname := '*';

FillChar(Adapter,Sizeof(Adapter),0);

  NCB.ncb_buffer := @Adapter;

  NCB.ncb_length := Sizeof(Adapter);

  if Netbios(@NCB) <> Char(NRC_GOODRET) then

  begin

    result :='mac not found';

    Exit;

  end;

  Result := 

    IntToHex(Byte(Adapter.adapter_address[0]), 2) + '_'+

    IntToHex(Byte(Adapter.adapter_address[1]), 2) + '_'+

    IntToHex(Byte(Adapter.adapter_address[2]), 2) + '_'+

    IntToHex(Byte(Adapter.adapter_address[3]), 2) + '_'+

    IntToHex(Byte(Adapter.adapter_address[4]), 2) + '_'+

    IntToHex(Byte(Adapter.adapter_address[5]), 2) ;

end;

function GetMACAddress: string;

var

  AdapterList: TLanaEnum;

  NCB: TNCB;

begin

  FillChar(NCB,Sizeof(NCB),0);

  NCB.ncb_command := Char(NCBENUM);

  NCB.ncb_buffer := @AdapterList;

  NCB.ncb_length := SizeOf(AdapterList);

  Netbios(@NCB);

  if Byte(AdapterList.length) > 0 then

    Result := GetAdapterInfo(AdapterList.lana[0])

  else

    Result := 'mac not found';

end;

调用: s:= GetMACAddress;

Delphi获取本机的MAC地址的更多相关文章

  1. JAVA获取本机的MAC地址

    /** * 获取本机的Mac地址 * @return */ public String getMac() { InetAddress ia; byte[] mac = null; try { // 获 ...

  2. C#获取本机的MAC地址

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.M ...

  3. 获取本机的IP地址和mac地址

    1. 以前一直用ipconfig来查看ip地址,哈哈哈,现在发现挺好玩 #获取本机的IP地址和mac地址 import uuid import socket def get_mac_address() ...

  4. 【Win 10 应用开发】获取本机的IP地址

    按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...

  5. 获取本机的IP地址(局域网)与主机名称

    编写内容保存为bat @echo off &setlocal enabledelayedexpansion Rem '/*========获取本机的IP地址(局域网)=========*/ e ...

  6. ASP.NET获取客户端IP及MAC地址

    朋友最近问如何获取客户端IP及MAC地址,一直想把这段给整理一下,契机来了:下边分为了C#后台获取的方法和前台Javascript(调用ActiveX)获取的方法,大家如果有好的方法一起讨论撒O(∩_ ...

  7. Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP

    Java 工具类 IpUtil - 获取本机所有 IP 地址,LocalHost 对应地址 IP IP 工具类 源代码: /** * <p> * * @author XiaoPengwei ...

  8. Java获取主板序列号、MAC地址、CPU序列号工具类

    import java.io.File; import java.io.FileWriter; import java.io.BufferedReader; import java.io.IOExce ...

  9. 如何获取公网IP的mac地址

    如何获取远程IP的mac地址 思路分析 由于java本身没有相关的jar包进行获取,所以这里介绍从其他的方面进行入手和实践 使用的工具对比: tcpdump tshark pcap4j 都可以达到抓包 ...

随机推荐

  1. mysql-sql语言参考

    字段去重查询 select distinct style from music 批量修改某字段 update music set style = "ost"  where styl ...

  2. 【KiCad】 如何给元件给元件的管脚加上划线?

    如何给元件给元件的管脚加上划线? 在一线元件需要注明一些引脚是低电位使能的. 比如这样. 每款 EDA 软件有不同的做法,有的是在前后使用 /,有的是给每个字母加上 /. KiCad 不一样,使用的是 ...

  3. mongo之 前后台创建索引 --noIndexBuildRetry

    在数据量超大的情形下,任何数据库系统在创建索引时都是一个耗时的大工程.MongoDB也不例外.因此,MongoDB索引的创建有两个选择,一个是前台方式,一个是后台方式.那这两种方式有什么差异呢,在创建 ...

  4. centos7 pptp 安装

    1  安装 ppp yum install -y ppp 2 安装 pptpd yum install -y pptpd 3 编辑/etc/pptpd.conf 在最后 添加 localip 192. ...

  5. phpstorm破解方法

    方法1:打开网址 http://idea.lanyus.com/ 选择获取注册码,复制生成的验证码 安装完成后,打开软件,依次选择菜单栏 Help -> Register-> Activa ...

  6. bzoj 4660 Crazy Rabbit——LIS解决“相交”限制的思想

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4660 想到一个点可以用它与圆的两个切点表示.并想到可以把切点极角排序,那么就变成环上的一些区 ...

  7. bzoj 2806 [Ctsc2012]Cheat——广义后缀自动机+单调队列优化DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2806 只想着怎么用后缀数据结构做,其实应该考虑结合其他算法. 可以二分那个长度 L .设当前 ...

  8. excel技巧--批量生成工资条

    要想生成如上图的工资条,快速的方法如下: 1.在工资表右侧建立一升序数字列,完成后再复制该列,重复粘贴一次在该列底部.2.对该表排序:“开始”-->“排序和筛选”-->自定义排序.在对话框 ...

  9. ASP防止SQL注入

    '防止SQL注入'http://0.0.0.0/bzhs/login.asp?logType=edit';WAITFOR DELAY '0:0:5' --logType = Replace(Repla ...

  10. 解决读取Excel表格中某列数据为空的问题 c#

    解决同一列中“字符串”和“数字”两种格式同时存在,读取时,不能正确显示“字符串”格式的问题:set xlsconn=CreateObject("ADODB.Connection") ...