本帖最后由 ferelove 于 2010-7-15 22:49 编辑
注册表里HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\下有些{xxxxxxxx}的未知个分支,这些全是网卡信息,使用RegEnumKey、RegRead并结合for循环就可以将所有网卡信息都弄到一个二维数组里。
先去研究一下这些注册表,给些参考:
键IPAddress对应是IP地址
键SubnetMask对应是子网掩码
偶也曾经做过伸手党、急于求成的时候:)
简单示例一下,见笑了。#include <Array.au3>
$AdaptersInfo = _RegNetworkAdapterInfo()
_ArrayDisplay($AdaptersInfo)
Func _RegNetworkAdapterInfo()
Local $AdaptersInfo[10][5]
$AdaptersInfo[0][0] = 0
For $i = 1 To 50
$Adapters = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces", $i)
If @error <> 0 Then ExitLoop
$IPAddress = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" & $Adapters, "IPAddress") ;静态IP的地址
$SubnetMask = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" & $Adapters, "SubnetMask") ;静态IP的子网掩码
$AdaptersInfo[0][0] += 1 ;网卡的数量
ReDim $AdaptersInfo[UBound($AdaptersInfo) + 1][5]
$AdaptersInfo[$AdaptersInfo[0][0]][0] += $AdaptersInfo[0][0] ;网卡的数量
$AdaptersInfo[$AdaptersInfo[0][0]][1] = $IPAddress ;IP的地址
$AdaptersInfo[$AdaptersInfo[0][0]][2] = $SubnetMask ;IP的掩码
Next
Return $AdaptersInfo
EndFunc ;==>_RegNetworkAdapterInfo
|