服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 易语言 - 易语言调用api获取网卡信息网络连接名的代码

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

2022-02-20 15:47易语言源码教程 易语言

今天小编就为大家分享一篇关于易语言调用api获取网卡信息网络连接名的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

DLL命令表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.版本 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, 整数型

自定义数据类型表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.版本 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

取网卡信息网络连接名的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
.版本 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获取网卡信息网络连接名的代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接

延伸 · 阅读

精彩推荐
  • 易语言易语言设置进度条边框样式的方法

    易语言设置进度条边框样式的方法

    今天小编就为大家分享一篇关于易语言设置进度条边框样式的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    易语言帮助手册4422022-01-20
  • 易语言易语言生成exe文件的方法

    易语言生成exe文件的方法

    在本篇内容中小编给大家分享的是关于易语言生成exe文件的方法知识点,需要的朋友们参考下。...

    易语言教程网14792022-03-01
  • 易语言易语言获取指定磁盘的名称

    易语言获取指定磁盘的名称

    今天小编就为大家分享一篇关于易语言获取指定磁盘的名称,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来...

    易语言帮助手册12662022-01-04
  • 易语言一步一步跟我学易语言之关于变量

    一步一步跟我学易语言之关于变量

    今天小编就为大家分享一篇关于一步一步跟我学易语言之关于变量,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    易语言帮助手册10822021-06-17
  • 易语言易语言关于程序进程和线程的基础知识

    易语言关于程序进程和线程的基础知识

    今天小编就为大家分享一篇关于易语言关于程序进程和线程的基础知识,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    三叶资源网6662022-02-24
  • 易语言易语言在画板中写出指定文本当画板中已满会自动滚屏

    易语言在画板中写出指定文本当画板中已满会自动滚屏

    今天小编就为大家分享一篇关于易语言在画板中写出指定文本当画板中已满会自动滚屏,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,...

    易语言帮助手册9092022-01-12
  • 易语言一步一步跟我学易语言之第二个易程序菜单设计

    一步一步跟我学易语言之第二个易程序菜单设计

    今天小编就为大家分享一篇关于的一步一步跟我学易语言之第二个易程序菜单设计,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要...

    易语言帮助手册7092021-06-17
  • 易语言实例操作易语言载入窗口

    实例操作易语言载入窗口

    在本文中小编给大家整理的是关于易语言载入窗口的教程和步骤内容,需要的可以跟着学习下...

    易语言教程网19162022-03-02