找回密码
 加入
搜索
查看: 5541|回复: 4

[网络通信] 关于《API GetAdaptersInfo 获取网卡信息》的问题请教

[复制链接]
发表于 2010-7-6 19:12:33 | 显示全部楼层 |阅读模式
本帖最后由 ferelove 于 2010-7-6 19:15 编辑

原文http://www.autoitx.com/thread-8533-1-1.html
研究了一些时间,知识有限,有2个疑问始终得不到解决,请教各位,先衷心感谢!
1、当某块网卡设置为静态IP(譬如192.168.1.20),并且当该网卡是“未连接”状态时,返回的IP地址是0.0.0.0,因为该网卡已经有静态IP地址,如何能够让它返回已设的IP地址呢?
2、在XP里,IP地址有一个类型AddressType的,当网卡为自动获取IP地址方式,并从DHCP分配失败时,该AddressType会=1,否则为其它值。在XP里很方便从注册表中获得,但在WIN7的注册表中,这个注册表值竟然无变化了,请教如何使用API方法判断IP地址的类型值?
 楼主| 发表于 2010-7-7 07:55:42 | 显示全部楼层
看世界杯都没休息好吧?再来请教第3个问题:
当某网卡设置有二个不同网段的静态IP地址时,返回值会将二个IP地址和二个子网掩码重叠在一起了。如何处理呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-7-7 11:18:00 | 显示全部楼层
本帖最后由 ferelove 于 2010-7-7 11:19 编辑

第3个问题完美解决:
StringSplit(DllStructGetData($tAdpt, "IpAddr"), @LF)
第1个问题使用折衷方法解决,不算完美,但基本满足需求:
DllStructGetData($tAdpt, "DhcpEnabled")
为0时,从注册表中获取IP地址,因为不管在XP或是在WIN7,只要该网卡的设置是静态IP方式时,都会在注册表中实时表现,所以取注册表中的值,达到目的。

继续求教第2个问题。
发表于 2010-7-24 19:46:06 | 显示全部楼层
顶下,收藏下
发表于 2010-7-24 20:05:42 | 显示全部楼层
学习了。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 14:59 , Processed in 0.080164 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表