小编给大家分享一下易语言如何调用api获取网卡信息网络连接名,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
DLL命令表
.版本 2
.DLL命令 GetAdaptersInfo, 整数型, "IPHlpApi"
.参数 IpAdapterInfo, 字节集
.参数 pOutBufLen, 整数型, 传址
.DLL命令 取变量地址_字节集, 整数型, , "lstrcpynA"
.参数 变量, 字节集, 传址
.参数 变量, 字节集, 传址
.参数 保留, 整数型, , 0
.DLL命令 CopyMemory_iai, , "kernel32", "RtlMoveMemory"
.参数 Destination, IP_ADAPTER_INFO, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 CopyMemory_ias, , "kernel32", "RtlMoveMemory"
.参数 Destination, IP_ADDR_STRING, 传址
.参数 Source, IP_ADDR_STRING
.参数 Length, 整数型
.DLL命令 GetPerAdapterInfo, 整数型, "IPHlpApi"
.参数 IfIndex, 整数型
.参数 pPerAdapterInfo, 字节集
.参数 pOutBufLen, 整数型, 传址
.DLL命令 CopyMemory_ipai, , "kernel32", "RtlMoveMemory"
.参数 Destination, IP_PER_ADAPTER_INFO, 传址
.参数 Source, 整数型
.参数 Length, 整数型
自定义数据类型表
.版本 2
.数据类型 IP_ADAPTER_INFO
.成员 Next, 整数型
.成员 ComboIndex, 整数型
.成员 AdapterName, 字节型, , "260", 名称
.成员 Description, 字节型, , "132", 描述
.成员 AddressLength, 整数型
.成员 Address, 字节型, , "8"
.成员 Index, 整数型
.成员 Type, 整数型, , , 类型
.成员 DhcpEnabled, 整数型
.成员 CurrentIpAddress, 整数型
.成员 IpAddressList, IP_ADDR_STRING
.成员 GatewayList, IP_ADDR_STRING
.成员 DhcpServer, IP_ADDR_STRING
.成员 HaveWins, 逻辑型
.成员 PrimaryWinsServer, IP_ADDR_STRING
.成员 SecondaryWinsServer, IP_ADDR_STRING
.成员 LeaseObtained, 整数型
.成员 LeaseExpires, 整数型
.数据类型 IP_ADDR_STRING
.成员 Next, 整数型
.成员 IpAddress, 字节型, , "16", IP_ADDRESS_STRING
.成员 IpMask, 字节型, , "16", IP_MASK_STRING=IP_ADDRESS_STRING
.成员 Context, 整数型
.数据类型 网卡信息_
.成员 名称, 文本型
.成员 连接名称, 文本型
.成员 Mac, 文本型
.成员 Ip, 文本型
.成员 掩码, 文本型
.成员 网关, 文本型
.成员 DNS1, 文本型
.成员 DNS2, 文本型
.数据类型 IP_PER_ADAPTER_INFO
.成员 tmp, 整数型, , "3"
.成员 CurrentDnsServer, IP_ADDR_STRING
.成员 DnsServerList, IP_ADDR_STRING
取网卡信息网络连接名的代码
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
取网卡信息 ()
.子程序 取网卡信息
.局部变量 size_link, 整数型
.局部变量 AdapterInfo, IP_ADAPTER_INFO
.局部变量 buf_link, 字节集
.局部变量 addr_link, 整数型
.局部变量 i, 整数型
.局部变量 mac, 文本型
.局部变量 tmp, 文本型
.局部变量 buf_ip, IP_ADDR_STRING
.局部变量 link, 网卡信息_
.局部变量 size_dns, 整数型
.局部变量 dns, IP_PER_ADAPTER_INFO
.局部变量 buf_dns, 字节集
.局部变量 addr_dns, 整数型
GetAdaptersInfo ({ 0 }, size_link)
buf_link = 取空白字节集 (size_link)
addr_link = 取变量地址_字节集 (buf_link, buf_link, 0)
.如果真 (GetAdaptersInfo (buf_link, size_link) = 0)
.循环判断首 ()
CopyMemory_iai (AdapterInfo, addr_link, 640)
link.名称 = 到文本 (AdapterInfo.Description)
mac = “”
.计次循环首 (AdapterInfo.AddressLength - 1, i)
tmp = 取十六进制文本 (AdapterInfo.Address [i])
mac = mac + 选择 (tmp = “0”, “00”, tmp) + “-”
.计次循环尾 ()
mac = 取文本左边 (mac, 取文本长度 (mac) - 1)
link.Mac = mac
CopyMemory_ias (buf_ip, AdapterInfo.IpAddressList, 40)
link.Ip = 到文本 (buf_ip.IpAddress)
link.掩码 = 到文本 (buf_ip.IpMask)
CopyMemory_ias (buf_ip, AdapterInfo.GatewayList, 40)
link.网关 = 到文本 (buf_ip.IpAddress)
link.连接名称 = 取文本注册项 (4, “SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\” + 到文本 (AdapterInfo.AdapterName) + “\Connection\Name”, )
size_dns = GetPerAdapterInfo (AdapterInfo.Index, buf_dns, size_dns)
buf_dns = 取空白字节集 (size_dns)
addr_dns = 取变量地址_字节集 (buf_dns, buf_dns, 0)
.如果 (GetPerAdapterInfo (AdapterInfo.Index, buf_dns, size_dns) = 0)
CopyMemory_ipai (dns, addr_dns, 92)
link.DNS1 = 到文本 (dns.CurrentDnsServer.IpAddress)
link.DNS2 = 到文本 (dns.DnsServerList.IpAddress)
.否则
link.DNS1 = “”
link.DNS2 = “”
.如果结束
网络连接名组合框.加入项目 (link.连接名称, )
网络连接名组合框.现行选中项 = i
输出调试文本 (link.连接名称)
输出调试文本 (link.名称)
输出调试文本 (link.Mac)
输出调试文本 (link.Ip)
输出调试文本 (link.掩码)
输出调试文本 (link.网关)
输出调试文本 (link.DNS1)
输出调试文本 (link.DNS2)
addr_link = AdapterInfo.Next
.循环判断尾 (addr_link ≠ 0)
.如果真结束
运行结果:
看完了这篇文章,相信你对“易语言如何调用api获取网卡信息网络连接名”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。