如何判断宽带是否连接【已解决】
本帖最后由 kenan 于 2010-7-2 22:29 编辑1.不要用ping
2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值
3.单纯用au3有没有办法 如果是路由拨号的用rasdial命令查看也是提示没有连接 回复 1# kenan
试下这个吧,至少LAN是可以测到的,WAN的话你来试试。Global Const $NETWORK_ALIVE_LAN = 0x1
Global Const $NETWORK_ALIVE_WAN = 0x2
Func _NetWorkOnline() ;判断物理断网
$NetWorkSituation=DLLCall("sensapi.dll","int","IsNetworkAlive","str",$NETWORK_ALIVE_LAN)
If $NetWorkSituation=1 Then
$LResult=True
Else
$LResult=False
EndIf
Return $LResult
EndFunc 回复 3# republican
看不懂你代码的原理,试了一下,好像不行
无论是否联网都是$NetWorkSituation=1 回复 4# kenan
$NETWORK_ALIVE_LAN 这个是LAN端口的判断
WAN端口请用 $NETWORK_ALIVE_WAN 回复 5# republican
还是不行 不知道,这个没测试过.{:face (88):}等待高手, 本帖最后由 xsjtxy 于 2010-7-2 22:10 编辑
这里假设你的播号连接是@IPAddress2
@IPAddress1一般是你的网卡。
如果你有很多个连接。比如1394。无线网卡。有线网卡。就自己按需要改吧。@IPAddress3。@IPAddress4
如果播号成功。会自动分配一个IP。不成功。就是0.0.0.0或者127.0.0.1
if @IPAddress2 = "0.0.0.0" or @IPAddress2 = "127.0.0.1" then
msgbox(16,"","播号连接失败!")
else
msgbox(16,"","播号连接正常!")
endif 回复 8# xsjtxy
这个方法不错,谢谢 另外,请教各位高手 2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值
(这个rasdial也可以是其他外部命令) 另外,请教各位高手 2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值
(这个rasdial也可 ...
kenan 发表于 2010-7-2 22:32 http://www.autoitx.com/images/common/back.gifLocal $iPid = Run('rasdial', '', 0, 2), $Stdout
While 1
Sleep(1)
$Stdout &= StdoutRead($iPid)
If @error Then ExitLoop
WEnd
MsgBox(0, 0, StringRegExpReplace($Stdout, '(?s)(.+?\n).+', '$1')) ;仅是否已连接
;MsgBox(0, 0, StringRegExpReplace($Stdout, '(?s)((?:.+?\n){2}).+', '$1')) ;这个带连接名 回复 11# afan
谢谢版主
页:
[1]