我编写一个猫自动拨号程序,可以自动上网,可以自动断网
请问那位大侠有现成源代码,谢谢
我的邮箱xxwxd@133
wo
我的邮箱[email protected]

解决方案 »

  1.   

    Option ExplicitPublic hRasConn As Long '定义一个指向RAS调用的全局句柄Public Const APINULL = 0&
    Public Const UNLEN = 256
    Public Const DNLEN = 15
    Public Const PWLEN = 256
    Public Const RAS95_MaxPhoneNumber = 128
    Public Const RAS95_MaxEntryName = 256
    Public Const RAS95_MaxCallbackNumber = RAS95_MaxPhoneNumber
    Public Type RASDIALPARAMS95
        dwSize As Long
        szEntryName(RAS95_MaxEntryName) As Byte
        szPhoneNumber(RAS95_MaxPhoneNumber) As Byte
        szCallbackNumber(RAS95_MaxCallbackNumber) As Byte
        szUserName(UNLEN) As Byte
        szPassword(PWLEN) As Byte
        szDomain(DNLEN) As Byte
    End Type'**********************************
    'RAS调用错误代号
    '**********************************
    Public Const NOT_SUPPORTED = 120&
    Public Const RASBASEERROR = 600&
    Public Const SUCCESS = 0&
    Public Const ERROR_PORT_ALREADY_OPEN = (RASBASEERROR + 2)
    Public Const ERROR_UNKNOWN = (RASBASEERROR + 35)
    Public Const ERROR_REQUEST_TIMEOUT = (RASBASEERROR + 38)
    Public Const ERROR_PASSWD_EXPIRED = (RASBASEERROR + 48)
    Public Const ERROR_NO_DIALIN_PERMISSION = (RASBASEERROR + 49)
    Public Const ERROR_SERVER_NOT_RESPONDING = (RASBASEERROR + 50)
    Public Const ERROR_UNRECOGNIZED_RESPONSE = (RASBASEERROR + 52)
    Public Const ERROR_NO_RESPONSES = (RASBASEERROR + 60)
    Public Const ERROR_DEVICE_NOT_READY = (RASBASEERROR + 66)
    Public Const ERROR_LINE_BUSY = (RASBASEERROR + 76)
    Public Const ERROR_NO_ANSWER = (RASBASEERROR + 78)
    Public Const ERROR_NO_CARRIER = (RASBASEERROR + 79)
    Public Const ERROR_NO_DIALTONE = (RASBASEERROR + 80)
    Public Const ERROR_AUTHENTICATION_FAILURE = (RASBASEERROR + 91)
    Public Const ERROR_PPP_TIMEOUT = (RASBASEERROR + 118)
    '**********************************
    'RAS API 声明
    '**********************************
    Public Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (lpString1 As Any, ByVal lpString2 As String) As Long
    Public Declare Function RasDial Lib "RasApi32.DLL" Alias "RasDialA" (lpRasDialExtensions As Any, ByVal lpszPhonebook As String, lprasdialparams As Any, ByVal dwNotifierType As Long, lpvNotifier As Long, lphRasConn As Long) As Long
    Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As LongPublic Function AddConnection(strNewEntryName As String, strNewPhoneNumber As String, strNewCallbackNumber As String, strNewUsername As String, strNewPassword As String, strNewDomain As String) As Integer
        Dim lngRetCode As Long
        Dim lngRetLstrcpy As Long
        Dim lngRetHangUp As Long
        Dim lprasdialparams As RASDIALPARAMS95
        '在WINDOWS95/98中必须将dwSize设为1052
        lprasdialparams.dwSize = 1052
        '利用lstrcpy函数将字符串拷贝到BYTE数组
        lngRetLstrcpy = lstrcpy(lprasdialparams.szEntryName(0), strNewEntryName)
        lngRetLstrcpy = lstrcpy(lprasdialparams.szPhoneNumber(0), strNewPhoneNumber)
        lngRetLstrcpy = lstrcpy(lprasdialparams.szCallbackNumber(0), strNewCallbackNumber)
        lngRetLstrcpy = lstrcpy(lprasdialparams.szUserName(0), strNewUsername)
        lngRetLstrcpy = lstrcpy(lprasdialparams.szPassword(0), strNewPassword)
        lngRetLstrcpy = lstrcpy(lprasdialparams.szDomain(0), strNewDomain)
        '同步通信
        Screen.MousePointer = vbHourglass
        hRasConn = 0 '
        lngRetCode = RasDial(ByVal APINULL, vbNullString, lprasdialparams, APINULL, ByVal APINULL, hRasConn)
        Screen.MousePointer = vbDefault
        '测试有没有错误
        If lngRetCode Then
            lngRetHangUp = RasHangUp(hRasConn)
        End If
        AddConnection = lngRetCode
    End FunctionPublic Sub RemoveConnection()
    On Error GoTo ErrLine
        Call RasHangUp(hRasConn)
    ErrLine:
    End Sub
      

  2.   

    要想实现自动启动拨号网络,就要使用Remote Access Service (RAS) API,这个API最早是在Windows for Workgroup 3.11中出现的,现在它已经成为Win32 API的一个组成部分。该API将整个拨号网络称为Phonebook,而每一个连接称为PhonebookEntry。你可以使用RasCreatePhonebookEntry来创建新的连接,用RasDial来拨号,而RasEnumEntries可以获得当前系统已有的所有连接,使用其它的RAS函数还可以获取或设置连接的参数。 RasEditPhonebookEntry函数将激活标准的Windows 95/NT属性对话框来修改连接的属性。你可以从Win32 API的手册找到所有相关函数的详细介绍。对于VB来说直接调用RAS API有一些不便,因为该API的函数使用了一些自定义的类型(Type),所以Microsoft专门设计了类模块封装了整个RAS API。
      

  3.   

    我也想要这方面的资料,谢谢各位!
    [email protected]