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数据库碰到的问题及解决方案

    直接用SecureCRT登录到我的linux服务器,连接mysql后出现以下错误 然后我用root用户登录到mysql查看了我的用户信息,如下 出现问题1的原因有很多种,我这里是因为用错了yangli ...

  2. 实现一个函数,可以左旋字符串中的k个字符

    ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB ABCD BACD BCAD BCDA CBDA CDBA CDAB 发现规律: 如果左旋一个字符则可以将第一个字符依次与后面的字符交 ...

  3. Spring 框架的历史

    2002 年 10 月,Rod Johnson 撰写了一本名为 Expert One-on-One J2EE 设计和开发的书.本书由 Wrox出版,介绍了当时 Java 企业应用程序开发的情况,并指出 ...

  4. mongodb之 oplog 日志详解

    1:oplog简介 oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的.每个节点都有oplog,记录这从主节点复制过来的信息,这样 ...

  5. kafka 知识点

    Replica如何分布 为了尽量做好负载均衡和容错能力,需要将同一个Partition的Replica尽量分散到不同的机器.如果所有的Replica都在同一个Broker上,那一旦该Broker宕机, ...

  6. Linux 高级文本处理命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields     ## 用于有特定分隔字符 [ ...

  7. mysql二进制日志详解

    一.什么是二进制日志 二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改.二进制日 ...

  8. Azure PowerShell (16) 并行开关机Azure ARM VM

    <Windows Azure Platform 系列文章目录> 并行开机脚本: https://github.com/leizhang1984/AzureChinaPowerShell/b ...

  9. CAD 中绘制点

    首先开启点样式,否则点是看不到的 系统变量 PDMODE 和 PDSIZE 控制点对象的显示外观. PDMODE 取值为 0.2.3 .4 时指定表示点的图形,取值为 1 表示不显示任何图形,如下图所 ...

  10. pytest.8.使用pytest做简单的接口测试

    From: http://www.testclass.net/pytest/test_api/ 背景 我们现在需要测试v2ex网站的查看论坛节点信息的api.具体如下: 节点信息 获得指定节点的名字, ...