如何在vb中使用Iphlpapi.dll获取网络信息?
如何在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、如有转载,必须连同本说明一并发表,否则将追究转载者责任。
※======================================================================
第二十节 测定到指定目的地往返时间和跳跃数
1、函数:
①Private Declare Function GetRTTAndHopCount Lib "iphlpapi.dll" (ByVal DestIpAddress As Long, HopCount As Long, MaxHops As Long, RTT As Long) As Long
DestIpAddress :[输入]要测定RTT和跳跃数的目的地IP地址。
HopCount:[输出] 指向一个ULONG变量。这个变量接收由DestIpAddress参数指定的到目的地的跳跃数。
MaxHops:[输入] 寻找目的地的最大跳跃数目。如果跳跃数超过这个数目,函数将终止搜寻并返回FALSE。
RTT:[输出] 到达DestIpAddress指定的目的地的往返时间(Round-trip time),单位毫秒。
返回值:成功返回 1,否则返回0。
②Private Declare Function inet_addr Lib "wsock32.dll" (ByVal cp As String) As Long
参见本章第十八节 1、 ③
2、使用到的类型:
无
3、使用到的常量:
无
4、主要代码分析:
①设置目标IP地址,要将“xxx.xxx.xxx.xxx”标准格式转换为长整型格式,指定最大跳跃数目,然后直接调用函数GetRTTAndHopCount:
Dip = inet_addr("220.181.27.5") '这里是探测www.baidu.com
MaxH = 50
r = GetRTTAndHopCount(Dip, HC, MaxH, RTT)
Print "hopecount", HC
5、运行时截图: