| 发表于:2007-03-28 22:15:546楼 得分:0 |
獲取網卡狀態信息 declare function getnetworkparams lib "iphlpapi.dll " (fixedinfo as any, poutbuflen as long) as long declare function getiftable lib "iphlpapi.dll " (byref piftable as mib_iftable, byref pdwsize as long, _ byval border as long) as long declare function getifentry lib "iphlpapi.dll " (pifrow as mib_ifrow) as long type mib_ifrow '保存結果信息 wszname(0 to 511) as byte '接口名稱的unicode字符串,必須為512字節 dwindex as long '接口編號 dwtype as long '接口類型,參看ip_adapter_info類型的type成員 dwmtu as long '最大傳輸單元 dwspeed as long '接口速度(字節) dwphysaddrlen as long '由bphysaddr獲得的物理地址有效長度 bphysaddr(0 to 7) as byte '物理地址 dwadminstatus as long '接口管理狀態 dwoperstatus as long '操作狀態,以下值之一: dwlastchange as long '操作狀態最后改變的時間 dwinoctets as long '總共收到(字節) dwinucastpkts as long '總共收到(unicast包) dwinnucastpkts as long '總共收到(non-unicast包),包括廣播包和多點傳送包 dwindiscards as long '收到后丟棄包總數(即使沒有錯誤) dwinerrors as long '收到出錯包總數 dwinunknownprotos as long '收到后因協議不明而丟棄的包總數 dwoutoctets as long '總共發送(字節) dwoutucastpkts as long '總共發送(unicast包) dwoutnucastpkts as long '總共發送(non-unicast包),包括廣播包和多點傳送包 dwoutdiscards as long '發送丟棄包總數(即使沒有錯誤) dwouterrors as long '發送出錯包總數 dwoutqlen as long '發送隊列長度 dwdescrlen as long 'bdescr部分有效長度 bdescr(0 to 255) as byte '接口描述 end type type mib_iftable '包含結果表 dwnumentries as long '當前网絡接口的總數 mib_table(9) as mib_ifrow '指向一個包含mib_ifrow類型的指針 end type sub test() dim net as mib_iftable lenift = len(net) rvalue = getiftable(net, lenift, true) '由net.dwnumentries獲得接口數量,然后用for…next循環獲取每個接口信息: for i = 1 to net.dwnumentries - 1 with net.mib_table(i) debug.print debug.print "---- " & time & "---- " debug.print "接口編號: " & .dwindex debug.print "接口速度: " & .dwspeed debug.print "接口狀態: " & .dwadminstatus debug.print "操作狀態: " & .dwoperstatus debug.print "收到字節: " & .dwinoctets for xi = 1 to .dwphysaddrlen - 1 txx = txx & format(hex(.bphysaddr(xi)), "00 ") next if txx <> " " then debug.print "网卡地址: "; txx end with next end sub | | |
|