kenan 发表于 2010-7-2 19:05:52

如何判断宽带是否连接【已解决】

本帖最后由 kenan 于 2010-7-2 22:29 编辑

1.不要用ping

2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值

3.单纯用au3有没有办法

qq342252004 发表于 2010-7-2 20:37:05

如果是路由拨号的用rasdial命令查看也是提示没有连接

republican 发表于 2010-7-2 20:56:18

回复 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

kenan 发表于 2010-7-2 21:04:38

回复 3# republican


    看不懂你代码的原理,试了一下,好像不行
无论是否联网都是$NetWorkSituation=1

republican 发表于 2010-7-2 21:06:41

回复 4# kenan

$NETWORK_ALIVE_LAN    这个是LAN端口的判断

WAN端口请用 $NETWORK_ALIVE_WAN

kenan 发表于 2010-7-2 21:11:12

回复 5# republican

还是不行

12250279 发表于 2010-7-2 21:24:58

不知道,这个没测试过.{:face (88):}等待高手,

xsjtxy 发表于 2010-7-2 22:06:31

本帖最后由 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

kenan 发表于 2010-7-2 22:28:52

回复 8# xsjtxy

这个方法不错,谢谢

kenan 发表于 2010-7-2 22:32:37

另外,请教各位高手 2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值
(这个rasdial也可以是其他外部命令)

afan 发表于 2010-7-2 22:35:26

另外,请教各位高手 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')) ;这个带连接名

kenan 发表于 2010-7-2 23:54:07

回复 11# afan


    谢谢版主
页: [1]
查看完整版本: 如何判断宽带是否连接【已解决】