45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:怎么样在vb中使用Iphlpapi.dll获取网卡信息?

怎么样在vb中使用Iphlpapi.dll获取网卡信息?

2016-08-25 08:35:20 来源:www.45fan.com 【

怎么样在vb中使用Iphlpapi.dll获取网卡信息?

※==================================================================
※本连载文章说明:
※1、连载首发于《软件报》(http://www.sweek.com)2006年21期(2006年5月22日);
※2、此次网上连载采用的是原稿件结构,内容与《软件报》发表略有不同;
※3、谢绝除《软件报》及其相关刊物之外的传统媒体部分或全部转载;
※4、谢绝任何收费媒体、网络转载;
※5、原作者:uruseibest ,blog:http://blog.csdn.net/uruseibest;
※6、如有其它疑问,请联系作者;
※7、如有转载,必须连同本说明一并发表,否则将追究转载者责任。
※======================================================================

第九节 获取网卡–IP地址映射表

1、函数:

Private Declare Function GetIpAddrTable Lib "iphlpapi.dll" (pIpAddrTable As MIB_IPADDRTABLE, pdwSize As Long, bOrder As Long) As Long

参数说明:

pIpAddrTable[输出] 指向一个接收网卡–IP地址映射表的 MIB_IPADDRTABLE类型的指针。

pdwSize[输入,输出]输入,指定pIpAddrTable 参数指向缓存的大小;输出,如果指定的缓存大小不够大,将设置此参数为必须的大校

bOrder[输入] 指定返回的映射表是否按照IP地址排列。TRUE,按顺序排列。

返回值:成功,返回0;失败,返回错误代码。

2、使用到的类型:

MIB_IPADDRTABLE 包含IP地址入口表

Type MIB_IPADDRTABLE

dwNumEntries As Long '表明table字段数组中有多少MIB_IPADDROW条目

table() As MIB_IPADDRROW '指向MIB_IPADDRROW类型

End Type

MIB_IPADDRROW 指定特殊IP地址的信息

Type MIB_IPADDRROW

dwAddr As Long '接口的IP地址

dwIndex As Long 'IP地址关联的接口之索引

dwMask As Long '子网掩码

dwBCastAddr As Long 广播地址

dwReasmSize As Long '已收到的数据报重装后的最大长度

unused1 As Integer '未使用

unused2 As Integer '未使用

End Type

3、使用到的常量:

4、主要代码分析:

定义一个MIB_IPADDRTABLE类型的变量并获取此变量的大小,然后直接调用GetTcpTable

Dim IpAddrTable As MIB_IPADDRTABLE

dwsize = Len(IpAddrTable)

r = GetIpAddrTable(IpAddrTable, dwsize, order)

调用For…Next循环,获取每个网卡–IP地址映射的信息:

For i = 0 To IpAddrTable.dwNumEntries - 1

Print "dwAddr", IpAddrTable.table(i).dwAddr

Next

将长整型格式的ip地址转换为标准IP地址格式("xxx.xxx.xxx.xxx"格式):

Private Function inversaip(IPAddrLng As Long) As String

Dim sos As String

Dim i As Long

Dim IPadd As String

IPadd = Right("00000000" & Hex(IPAddrLng), 8)

sos = ""

For i = 1 To Len(IPadd) Step 2

sos = CInt("&h" & Mid(IPadd, i, 2)) & "." & sos

Next i

inversaip = Mid(sos, 1, Len(sos) - 1)

End Function

5、运行时截图:


本文地址:http://www.45fan.com/dnjc/67258.html
Tags: 获取 网络 Iphlpapi.dll
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部