|

要用到的API
.版本 2
.DLL命令 GetAdaptersAddresses, 整数型, "iphlpapi.dll", "GetAdaptersAddresses"
.参数 Family, 整数型, , AF_INET
.参数 Flags, 整数型
.参数 Reserved, 整数型
.参数 pAdapterAddresses, 整数型, , sizeof _IP_ADAPTER_ADDRESSES = 72
.参数 pOutBufLen, 整数型, 传址
.版本 2
.子程序 枚举网卡信息
.局部变量 OutBufferLen, 整数型, , , 返回需要的内存大小
.局部变量 结构指针, 整数型
.局部变量 返回值, 整数型
.局部变量 枚举指针, 整数型
结构指针 = 申请内存 (72) ' sizeof (IP_ADAPTER_ADDRESSES) = 72
返回值 = GetAdaptersAddresses (#AF_INET, 0, 0, 结构指针, OutBufferLen)
.判断循环首 (返回值 = 111) ' NO_ERROR == 0 ERROR_BUFFER_OVERFLOW == 111(06Fh)
释放内存 (结构指针)
结构指针 = 申请内存 (OutBufferLen)
返回值 = GetAdaptersAddresses (#AF_INET, 0, 0, 结构指针, OutBufferLen)
.判断循环尾 ()
.如果真 (返回值 ≠ 0)
释放内存 (结构指针)
返回 ()
.如果真结束
枚举指针 = 结构指针
.判断循环首 (枚举指针 ≠ 0)
返回值 = 取指针数据 (枚举指针 + 36, #整数型)
输出调试文本 (“网络名:”, 指针到窄字符 (返回值))
返回值 = 取指针数据 (枚举指针 + 40, #整数型)
输出调试文本 (“连接名称:”, 指针到窄字符 (返回值))
输出调试文本 (“网卡MAC:”, 转换为HEX文本 (取指针数据 (枚举指针 + 44, #长整数型)))
' 输出调试文本 (转换为HEX文本 (指针到字节集 (取指针数据 (枚举指针 + 40, #整数型), 8)))
枚举指针 = 取指针数据 (枚举指针 + 8, )
.判断循环尾 ()
释放内存 (结构指针)
在我电脑上的运行结果是:
正在封装易格式目的代码
开始运行被调试程序
* 网络名:
* VMware Virtual Ethernet Adapter for VMnet1
* 连接名称:
* 本地连接 3
* 网卡MAC:
* 005056C000010000
* 网络名:
* VMware Virtual Ethernet Adapter for VMnet8
* 连接名称:
* 本地连接 2
* 网卡MAC:
* 005056C000080000
* 网络名:
* Broadcom 802.11b/g 网络适配器 - 数据包计划程序微型端口
* 连接名称:
* 无线网络连接
* 网卡MAC:
* 00210030C1260000
* 网络名:
* MS TCP Loopback interface
* 连接名称:
* MS TCP Loopback interface
* 网卡MAC:
* 0000000000000000
被调试易程序运行完毕
祝您晚安!偶也在网上抄的,VC6没调通,没想到易语言一下灵了 |
|