易语言取多网卡MAC地址源码

源码通过API函数取多网卡MAC地址。源码是WINDOWS API学习例程。

.版本 2 .子程序 网络_取本机MAC, 文本型, 公开, 获取本机MAC地址,可以获取多网卡MAC,失败返回空。 .参数 网卡序号, , 可空, 可以被省略。当本机有多块网卡时,指定要对其操作的网卡序号(从1开始)。 .局部变量 IPAA, IP_ADAPTER_ADDRESSES .局部变量 pAdapterAddresses .局部变量 outBufLen .局部变量 Flags .局部变量 Family .局部变量 lRet .局部变量 dwIndex .局部变量 i .局部变量 outBuff, 文本型, , "0" .局部变量 MAC地址, 文本型, , "0" .局部变量 tmpMAC, 文本型 Flags = 16 Family = 0 outBufLen = 0 pAdapterAddresses = 从堆栈分配内存_ (取进程堆栈句柄_ (), 8, 32) lRet = GetAdaptersAddresses (Family, Flags, 0, pAdapterAddresses, outBufLen) ' 第一次调用,如果缓冲区不够,会在outBufLen里返回所需要的缓冲区大小 .如果真 (lRet = 111) ' 如果返回溢出,则重分配足够的内存 pAdapterAddresses = HeapReAlloc (取进程堆栈句柄_ (), 8, pAdapterAddresses, outBufLen) .如果真结束 lRet = GetAdaptersAddresses (Family, Flags, 0, pAdapterAddresses, outBufLen) ' 这次是正式取了 .如果真 (lRet = 0) ' 三叶资源网(www.sanye.cx) i = 0 重定义数组 (outBuff, 假, 1) 拷贝内存_IP_ADAPTER (IPAA, pAdapterAddresses, Len_IP_ADAPTER (IPAA)) tmpMAC = 取十六进制文本 (IPAA.PhysicalAddress [1]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [2]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [3]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [4]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [5]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [6]) 加入成员 (MAC地址, tmpMAC) .判断循环首 (IPAA.pNext ≠ 0) i = i + 1 重定义数组 (outBuff, 真, i) 拷贝内存_IP_ADAPTER (IPAA, IPAA.pNext, Len_IP_ADAPTER (IPAA)) tmpMAC = 取十六进制文本 (IPAA.PhysicalAddress [1]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [2]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [3]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [4]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [5]) + “-” + 取十六进制文本 (IPAA.PhysicalAddress [6]) .如果真 (tmpMAC ≠ “0-0-0-0-0-0”) ' 三叶资源网(www.sanye.cx) 加入成员 (MAC地址, tmpMAC) .如果真结束 处理事件 () .判断循环尾 () .如果真结束 释放堆栈内存_ (取进程堆栈句柄_ (), 0, pAdapterAddresses) .如果真 (是否为空 (网卡序号)) 网卡序号 = 1 .如果真结束 返回 (MAC地址 [网卡序号])
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言取多网卡MAC地址源码》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注