aqtd 发表于 2011-4-7 09:43:40

【已解决】列举宽带连接名称的函数调用

本帖最后由 aqtd 于 2011-4-7 12:54 编辑

在网上查到,rasapi32.dll中的RasEnumEntries 可以列举所有远程访问的名称,可是我不会调用,不知道其中的那些参数怎么搞。对api不熟。
我想得到宽带名称后就可以用dos命令静默连接。
有一段vb源码参考
Public Sub listPhoneBookEntry()
    Form1.Combo1.Clear
    Dim s As Long, l As Long, ln As Long, a$
    ReDim r(255) As RasEntryName

    r(0).dwSize = 264
    s = 256 * r(0).dwSize
    l = RasEnumEntries(vbNullString, vbNullString, r(0), s, ln)
    For l = 0 To ln - 1
      a$ = StrConv(r(l).szEntryName(), vbUnicode)
      Form1.Combo1.AddItem Left$(a$, InStr(a$, Chr$(0)) - 1)
    Next
    If Form1.Combo1.ListCount > 0 Then
      Form1.Combo1.ListIndex = 0
      'Form1.combo1_Click
    End If

End Sub

pusofalse 发表于 2011-4-7 11:08:32

#include <rasapi.au3>

$aEntry = _RasEnumEntries()
_ArrayDisplay($aEntry)

If $aEntry Then
        _RasDial($aEntry, "UserName", "Password")
EndIf

rasapi.au3 - http://www.autoitx.com/thread-17179-1-1.html

netegg 发表于 2011-4-7 12:33:37


Func _WinAPI_RasEnumEntries()
        Local $Result
        Local $tBuffer = DllStructCreate($tagRASENTRYNAME)
        Local $iBufferSize = DllStructGetSize($tBuffer)
        Local $mem = __MemGlobalAlloc(256 * $iBufferSize, 0x0040)
       
        Local $aRasEntryName

        For $i = 0 To 255
                $aRasEntryName[$i] = DllStructCreate($tagRASENTRYNAME, $mem + ($i * $iBufferSize))
        Next
        DllStructSetData($aRasEntryName, 1, $iBufferSize)

        Local $Res = DllCall("rasapi32.dll", "int", "RasEnumEntries", "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($aRasEntryName), "int*", 256 * $iBufferSize, "int*", 0)

        If $Res = 0 Then
                For $i = 0 To $Res - 1
                        $Result[$i] = DllStructGetData($aRasEntryName[$i], "szEntryName")
                        ReDim $Result
                Next
                ReDim $Result
                Return $Result
        Else
                Return SetError(0, _WinAPI_GetLastError(), $Res)
        EndIf
EndFunc   ;==>_WinAPI_RasEnumEntries

aqtd 发表于 2011-4-7 12:52:18

感谢P版,rasapi这个Udf虽然有太多不明白,慢慢研究,确定强大
同时也谢谢netegg

m765555 发表于 2011-4-7 14:05:49

不错,学习了

freedom 发表于 2011-7-11 17:20:53

rasapi.au3直接报错。au3版本太老?
页: [1]
查看完整版本: 【已解决】列举宽带连接名称的函数调用