Delphi获取本机的MAC地址

时间:2021-05-07 00:40:47

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&num;获取本机的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地址&lpar;局域网&rpar;与主机名称

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

  6. ASP&period;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. 在控制台启动服务器时出现:对于服务器soa1&lowbar;wls&comma; 与计算机oim1相关联的节点管理器无法访问。

    问题:在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问.原因:nodemanager没有启起来解决方法: 一.对于managedServer于admi ...

  2. &lbrack;cocoapods&rsqb;cocoapods问题解决

    错误1. While executing gem no such name 错误原因:gem 网址被挡住了. 解决办法:设置https://ruby.taobao.org/ 详情参考 http://w ...

  3. &lbrack;改善Java代码&rsqb;不使用stop方法停止线程

    线程启动完毕后,在运行可能需要终止,Java提供的终止方法只有一个stop,但是不建议使用此方法,因为它有以下三个问题: (1)stop方法是过时的 从Java编码规则来说,已经过时的方式不建议采用. ...

  4. 浙大PTA - - 堆中的路径

    题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21731 本题即考察最小堆的基本操作: #include "iostrea ...

  5. &lowbar;js day11

  6. 命令行从Android手机中导出已安装APK的方法调研

    一.背景 二.步骤 一.背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载.用手机下载下来后就直接安装了,也不能保存原始的APK文件. APK安装到手机后,Android系统会保存一份和 ...

  7. figure 的使用

    1.figure语法及操作(1)figure语法说明 figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, ...

  8. python3 Counter模块

    from collections import Counter c = Counter("周周周周都方法及")print(c)print(type(c))print('__iter ...

  9. Android 模块化&sol;热修复&sol;插件化 框架选用

    概念汇总 动态加载:在程序运行的时候,加载一些程序自身原本不存在的文件并运行这些文件里的代码逻辑.动态加载是热修复与插件化实现的基础. 热修复:修改部分代码,不用重新发包,在用户不知情的情况下,给ap ...

  10. windows 如何创建硬链接

    输入代码:mklink /d F:\ D:\pdf mklink /d 是命令语句,空格,接着是放置硬链接的位置,空格,再是目标文件夹.