首页 > 编程 > 易语言 > 正文

易语言调用api获取网卡信息网络连接名的代码

2024-07-21 23:02:44
字体:
来源:转载
供稿:网友

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,网卡信息,网络连接名,代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VeVb武林网的支持。


注:相关教程知识阅读请移步到易语言教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表