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

[系统综合] 如何将网卡如图三者都获取到(已解决)

[复制链接]
发表于 2010-3-21 02:25:14 | 显示全部楼层 |阅读模式
本帖最后由 viplight 于 2010-3-21 15:39 编辑


我通过下面的代码能获取到前两者但是后面的网卡ID就不能获取到高手指点指点.....
Dim $lanidhuoqu = _NetworkAdapterInfo()
For $i=1 To $lanidhuoqu[0][0]
MsgBox(0,"第"&$i&"张网卡的信息","网卡名称:"&$lanidhuoqu[$i][2]&@CRLF&"连接名称:"&$lanidhuoqu[$i][3])
Next
Func _NetworkAdapterInfo()
;======================================================
;
; 函数名称:        _NetworkAdapterInfo()
; 详细信息:        获取系统所有网卡信息
; 返回值说明:
; 以二维数组方式返回.例如 $info=_NetworkAdapterInfo()
; $info[0][0] 网卡数量
; $info[1][0] 第一块网卡的标志1
; $info[1][1] 第一块网卡的状态 
; 状态说明:7为网卡未插网线,2为网卡连接正常
; $info[1][2] 第一块网卡的网卡名称
; $info[1][3] 第一块网卡的连接名称
; $info[1][4] 第一块网卡的MAC地址
; $info[1][5] 第一块网卡的IP地址
; $info[1][6] 第一块网卡的默认网关
; $info[1][7] 第一块网卡的子网掩码
; $info[1][8] 第一块网卡的主DNS
; $info[1][9] 第一块网卡的次DNS
; 第二块网卡:
; $info[2][0] 第二块网卡的标志1
; $info[2][9] 第二块网卡的次DNS

; 其他网卡信息依次类推。。。
; 注意,此UDF不会获取已经禁用的网卡。
; 作者:      Sanhen (gxbeiliu@163.com)
; 网站: www.lunhui.net.cn  www.autoitx.com
;======================================================
    Local $colItem
    Local $objItem
    Local $colItems 
    Local $objItems
    Local $objWMIService 
    Local $Adapters[1][10]
    $Adapters[0][0] = 0
    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
    $colItem  = $objWMIService.ExecQuery("Select * FROM Win32_NetworkAdapter Where NetConnectionStatus >0", "WQL", 0x30)
    If IsObj($colItem) Then
        For $objItem In $colItem
            If $objItem.MACAddress = "00:00:00:00:00:00" Then ContinueLoop
            $Adapters[0][0] += 1
            ReDim $Adapters[UBound($Adapters) + 1][10]
            $Adapters[$Adapters[0][0]][0] += $Adapters[0][0]
            $Adapters[$Adapters[0][0]][1] = $objItem.NetConnectionStatus
            $Adapters[$Adapters[0][0]][2] = $objItem.Description
            $Adapters[$Adapters[0][0]][3] = $objItem.NetConnectionID
            $Adapters[$Adapters[0][0]][4] = $objItem.MACAddress 
            $colItems  = $objWMIService.ExecQuery('Select * FROM Win32_NetworkAdapterConfiguration Where MACAddress = "'&$Adapters[$Adapters[0][0]][4]&'" And IPEnabled = True ' , "WQL", 0x30)                     
            If IsObj($colItems) Then
                For $objItems In $colItems
                    ;if $objItem1.IPAddress(0) = "0.0.0.0" Then ContinueLoop
                    $Adapters[$Adapters[0][0]][5] = $objItems.IPAddress(0)
                    $Adapters[$Adapters[0][0]][6] = $objItems.DefaultIPGateway(0)
                    $Adapters[$Adapters[0][0]][7] = $objItems.IPSubnet(0)
                    $Adapters[$Adapters[0][0]][8] = $objItems.DNSServerSearchOrder(0)
                    $Adapters[$Adapters[0][0]][9] = $objItems.DNSServerSearchOrder(1)
                Next    
            EndIf
        Next
    EndIf
    
Return $Adapters

EndFunc
2010.03.21
下面这个地址有解决的办法了
http://www.autoitx.com/thread-13766-1-1.html

本帖子中包含更多资源

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

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-3-21 08:23:37 | 显示全部楼层
过路看看
发表于 2010-3-22 00:00:45 | 显示全部楼层
要用到,研究研究
发表于 2010-3-22 17:24:54 | 显示全部楼层
新手!!学习
发表于 2014-5-6 23:10:29 | 显示全部楼层
雷锋精神传天下!谢谢分享!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 22:35 , Processed in 0.078702 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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