xlcwxl 发表于 2009-6-9 20:54:41

怎样判断本机已经存在宽带连接

本帖最后由 xlcwxl 于 2009-6-21 08:53 编辑

怎样判断本机已存在快带连接呢?

kn007 发表于 2009-6-9 20:59:45

不知道,不过帮你顶

xlcwxl 发表于 2009-6-9 21:07:45

不知道,不过帮你顶
kn007 发表于 2009-6-9 20:59 http://www.autoitx.com/images/common/back.gif

真的到处都
有你的脚印

kn007 发表于 2009-6-9 21:08:47

嘿嘿,走遍论坛是不可能的,只能遇到新的,就踏过一次,留下脚印

lynfr8 发表于 2009-6-9 21:16:28

在论坛找的
借鉴一下
代码如下
(可以判断连接情况),如果想通用就加入一个ini文件读取用户名密码...
#include <Constants.au3>
Dim $i
$foo = Run(@ComSpec & " /c rasdial "连接名称" "用户名" "密码" " , @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)

While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$i = $line
Wend

If StringInStr ($i,"远程访问错误") <> 0 Then
MsgBox(0,"无法连接","错误的可能原因是用户名密码错误或者你没交钱!")
Exit
Else
If StringInStr ($i,"正在连接到 INTERNET") <> 0 Then
MsgBox(0,"连接成功","5s后自动退出本窗口!",5)
EndIf
EndIf

kn007 发表于 2009-6-9 21:19:04

楼主好像不是判断有无联网,而是控制面板里面的网络连接,有没有拨号程序?

应该不会是我理解错了吧

xlcwxl 发表于 2009-6-9 23:20:05

知我者kn007也

pusofalse 发表于 2009-6-10 07:01:16

#include <Array.au3>

Func _RasEnumEntries($sPhonebook)
        Local $iResult, $aResult, $tBuffer, $pBuffer, $iSizeofBuffer, $tagBuffer, $iIndex

        $tBuffer = DllStructCreate("dword;char;dword;char")
        $pBuffer = DllStructGetPtr($tBuffer)
        $iSizeofBuffer = DllStructGetSize($tBuffer)
        DllStructSetData($tBuffer, 1, $iSizeofBuffer)

        $iResult = DllCall("rasapi32.dll", "dword", "RasEnumEntries", _
                        "ptr", 0, "str", $sPhonebook, _
                        "ptr", $pBuffer, "int*", $iSizeofBuffer, "int*", 0)
        $tBuffer = 0
        $aResult = $iResult
        Redim $aResult[$iResult + 1]
        If $iResult = 0 Then Return SetError($iResult, 0, $aResult)

        For $i = 1 to $iResult
                $tagBuffer &= "dword;char;dword;char;"
        Next

        $tBuffer = DllStructCreate($tagBuffer)
        $pBuffer = DllStructGetPtr($tBuffer)
        DllStructSetData($tBuffer, 1, $iSizeofBuffer)

        $iResult = DllCall("rasapi32.dll", "dword", "RasEnumEntries", _
                        "ptr", 0, "str", $sPhonebook, _
                        "ptr", $pBuffer, "int*", $iResult, "int*", 0)
        For $i = 2 to $iResult * 4 Step 4
                $iIndex += 1
                $aResult[$iIndex] = DllStructGetData($tBuffer, $i)
                $aResult[$iIndex] = DllStructGetData($tBuffer, $i + 2)
                $aResult[$iIndex] = DllStructGetData($tBuffer, $i + 1)
        Next
        $tBuffer = 0
        Return SetError($iResult, $iResult, $aResult)
EndFunc        ;==>_RasEnumEntries()


$sPnebk = @AppDataCommonDir & "\Microsoft\Network\Connections\Pbk\rasphone.pbk"
$aEntry = _RasEnumEntries($sPnebk)
_ArrayDisplay($aEntry)

雨林GG 发表于 2009-6-18 09:41:17

好东西 收藏了!

298311657 发表于 2009-6-18 23:42:38

判断联网??直接ping .baidu.com不就行了,想那么复杂做什么~

pusofalse 发表于 2009-6-19 01:32:28

10# 298311657

如果有宽带连接,但没有连接到网络呢?楼主的目的貌似不是判断有无联网,而是有无宽带连接,虽然建立宽带连接的目的就是为了联网。。。

xlcwxl 发表于 2009-6-21 08:53:23

楼上说的对,

我通过其他办法解决了此问题

ohsee 发表于 2009-6-21 11:08:40

解决 了
把答案分享分享吧,呵呵

kent2007 发表于 2009-8-27 12:53:20

留个名,下次可能用的上。。

zhenglei 发表于 2009-10-11 12:05:08

ddddddddddddddddddddddddddd
页: [1] 2
查看完整版本: 怎样判断本机已经存在宽带连接