uses Nb30;

//一般用默认的 0 就可以了
function GetMacAddress(const 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)<> 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)<> 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:= to do
str := str + IntToHex(Integer(AdapterS.adapter_address[i]),); Result := str;
if Result <>'' then
begin
Result :=Copy(Result ,,)+'-'+Copy(Result ,,) +'-'+Copy(Result ,,) +'-'+Copy(Result ,,) +'-'+Copy(Result ,,)+'-' +Copy(Result ,,)
end;
finally
end;
end;

 

取Mac地址的更多相关文章

  1. 取MAC地址 (含多网卡),最好的方法,支持Vista,Win7

    取MAC地址 (含多网卡),最好的方法,支持Vista,Win7 unit Unit1; interface usesWindows, Messages, SysUtils, Variants, Cl ...

  2. Powershell-获取MAC地址对应IP信息

    因业务需要在DHCP服务器上绑定设备MAC,提示"指定的IP地址或硬件地址正被其他客户端使用",与业务同事沟通之前该设备做过地址保留,具体对应地址遗忘了. 问题描述: a.按照用户 ...

  3. Kotlin 取 MAC 地址

    package com.example.ybs.myapplication import android.annotation.SuppressLint import android.net.wifi ...

  4. 读取Android设备的MAC地址

    读取Android设备的MAC地址   AndroidUtil.java package com.csdn.android.util; import com.csdn.android.framewor ...

  5. Java获取网卡的mac地址

    为了项目的安全,有时候需要得到电脑的唯一码,比如:网卡的mac地址.和大家分享一下,下面是项目中用到的工具类: import java.io.BufferedReader;import java.io ...

  6. java 获取本地 mac 地址

    主要参考:Java获取本机MAC地址/IP地址/主机名 做的更改: 1.我的windows是中文版,程序中获取mac时是按照physical address 获取的,添加上"物理地址&quo ...

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

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

  8. tcpdump 基于mac地址抓取数据包

    1.刚刚接触tcpdump时,常用tcpdump -i eth1 host 192.168.1.1 这个命令基于ip地址抓取数据包信息. tcpdump -i eth1(接口名称) host 192. ...

  9. python-获取本机mac地址

    #!/usr/bin/env python #-*- coding:utf-8 -*- ############################ #File Name: getmac.py #Auth ...

随机推荐

  1. SOA (面向服务的架构)

    面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作系统和编程语 ...

  2. Python3 ssl模块不可用的问题

    编译安装完Python3之后,使用pip来安装python库,发现了如下报错: $ pip install numpy pip is configured with locations that re ...

  3. Hibernate查询方式(补)

    -----------------siwuxie095                             Hibernate 查询方式         1.对象导航查询     根据已经加载的对 ...

  4. UVa 12100 Printer Queue(queue或者vector模拟队列)

    The only printer in the computer science students' union is experiencing an extremely heavy workload ...

  5. PAT L3-008 喊山(广搜)

    喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的.原来它是彝族先民用 ...

  6. codeblocks不支持c++11的有效解决办法

    首先cb支持c++11编程开发,但是不支持编译 看了网上好多,说setting里面设置一下就好了,16.01版本我安装了带ide的不带IDE的,安了好多次,但是就是没有那个选项 找不到c++11那个选 ...

  7. git 常用命令笔记

    #提交代码会加上用户名和邮箱 git config --global user.name 名字 git config --global user.email 邮箱 git config --globa ...

  8. jquery正则判断字符串有几个逗号

    var angelweb="我,你,ta,";var re=/[,,]/g;if(re.test(angelweb)){ var n=angelweb.match(re).leng ...

  9. c语言重载(overriding in C)或函数不定参数个数

    google一下 c overiding发现有这样一段英文解释: Because C doesn't require that you pass all parameters to the funct ...

  10. EXP-00056:遇到oracle错误12154

    执行命令如下: 引用 exp user/pwd@dbname file=d:text.dmp owner=(user) 碰到了错误: 引用 EXP-00056:遇到oracle错误12154 ORA- ...