找回密码
 加入
搜索
查看: 5196|回复: 11

[网络通信] 如何判断宽带是否连接【已解决】

  [复制链接]
发表于 2010-7-2 19:05:52 | 显示全部楼层 |阅读模式
本帖最后由 kenan 于 2010-7-2 22:29 编辑

1.不要用ping

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

3.单纯用au3有没有办法

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-7-2 20:37:05 | 显示全部楼层
如果是路由拨号的用rasdial命令查看也是提示没有连接
发表于 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[0]=1 Then
                $LResult=True
        Else
                $LResult=False
        EndIf
        Return $LResult
EndFunc

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

 楼主| 发表于 2010-7-2 21:04:38 | 显示全部楼层
回复 3# republican


    看不懂你代码的原理,试了一下,好像不行
无论是否联网都是$NetWorkSituation[0]=1
发表于 2010-7-2 21:06:41 | 显示全部楼层
回复 4# kenan

$NETWORK_ALIVE_LAN    这个是LAN端口的判断

WAN端口请用 $NETWORK_ALIVE_WAN
 楼主| 发表于 2010-7-2 21:11:12 | 显示全部楼层
回复 5# republican

还是不行
发表于 2010-7-2 21:24:58 | 显示全部楼层
不知道,这个没测试过.等待高手,
发表于 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

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-7-2 22:28:52 | 显示全部楼层
回复 8# xsjtxy

这个方法不错,谢谢
 楼主| 发表于 2010-7-2 22:32:37 | 显示全部楼层
另外,请教各位高手 2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值
(这个rasdial也可以是其他外部命令)
发表于 2010-7-2 22:35:26 | 显示全部楼层
另外,请教各位高手 2.在cmd里运行rasdial可以显示宽带连接状况,但怎么获得这些返回值
(这个rasdial也可 ...
kenan 发表于 2010-7-2 22:32
Local $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')) ;这个带连接名
 楼主| 发表于 2010-7-2 23:54:07 | 显示全部楼层
回复 11# afan


    谢谢版主
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 14:31 , Processed in 0.080374 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表