有没有办法通过VPN连接名来获取VPN连接的IP?
用dllcall调用来获取IP过程中会跟PPPOE混淆!用@ipaddress 来获取,在多网卡下,完全没办法。
有没有办法通过VPN连接名来获取VPN连接的IP? 本帖最后由 freedom 于 2011-7-30 00:11 编辑
我找到一个可以通过WMI直接获取上网网关的。但是没看懂。。。
这个就比较精确,PPTP,PPPOE,NAT都能很精确的获取到上网的网关。
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colNicConfigs = $objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For $objNicConfig In $colNicConfigs
If Not ($objNicConfig.DefaultIPGateway) = " " Then
For $i = 0 To UBound($objNicConfig.DefaultIPGateway) -1
$WG=$objNicConfig.DefaultIPGateway($i)
Next
EndIf
Next
MsgBox (0,0,$wg)
vpn 的话只能获取到vpn分配IP和网关
#include <rasapi.au3>
$aEntry = _RasEnumEntries()
$aConn = _RasEnumConnections()
If Not $aEntry = "" Then
If Not $aConn = "" Then
For $i = 1 To $aConn
If $aConn[$i] = "VPN" Then
_ArrayDisplay($aConn)
$aSen = _RasGetConnectionIpAddresses($aConn[$i])
_ArrayDisplay($aSen)
MsgBox(0, "Gateway:" & $aSen, "IP:" & $aSen)
EndIf
Next
EndIf
EndIf
其中用到的udf:http://www.autoitx.com/forum.php?mod=viewthread&tid=17179 回复 4# xayle
非常感谢,这个例子在WINXP,及WIN7下,通过路由上网已测试成功。明天去试下ADSL。 回复 5# freedom
如果是ADSL的话
要把 VPN 这里改成 PPPoE 学习一下,如何获取 学习一下,如何获取 为什么这里回复,这么高的分 学习一下,如何获取
页:
[1]