Results 1 to 2 of 2

Thread: Auto switch off and aotu dial up to internet without promting

  1. #1

    Thread Starter
    New Member
    Join Date
    Apr 2001
    Location
    Malayisa
    Posts
    7

    Lightbulb

    Hi,

    I wish anyone can help me on the solution or VB code
    on auto switch OFF internet dial up and auto ON dial up again without promting at the interval of 30 minutes.

    Thanks for help.

  2. #2
    Conquistador
    Join Date
    Dec 1999
    Location
    Australia
    Posts
    4,527
    straight off vbworld:
    Connecting and Disconnecting Code:
    Code:
    Private Declare Function InternetAutodial Lib "wininet.dll" _
    (ByVal dwFlags As Long, ByVal dwReserved As Long) As Long
    
    Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
    Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
    
    Private Declare Function InternetAutodialHangup Lib "wininet.dll" _
    (ByVal dwReserved As Long) As Long
    
    Private Sub Command1_Click()
    
    'To prompt the user to connect to the Net
    
    If InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE, 0) Then
    	MsgBox "You're Connected!", vbInformation
    End If
    
    'To automatically start dialling
    
    If InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, 0) Then
    	MsgBox "You're Connected!", vbInformation
    End If
    
    'To disconnect an automatically dialled connection
    
    If InternetAutodialHangup(0) Then
       MsgBox "You're Disconnected!", vbInformation
    End If
    Hanging Up:
    Code:
    Public Const RAS_MAXENTRYNAME As Integer = 256
    Public Const RAS_MAXDEVICETYPE As Integer = 16
    Public Const RAS_MAXDEVICENAME As Integer = 128
    Public Const RAS_RASCONNSIZE As Integer = 412
    Public Const ERROR_SUCCESS = 0&
    
    Public Type RasEntryName
        dwSize As Long
        szEntryName(RAS_MAXENTRYNAME) As Byte
    End Type
    
    Public Type RasConn
        dwSize As Long
        hRasConn As Long
        szEntryName(RAS_MAXENTRYNAME) As Byte
        szDeviceType(RAS_MAXDEVICETYPE) As Byte
        szDeviceName(RAS_MAXDEVICENAME) As Byte
    End Type
    
    Public Declare Function RasEnumConnections Lib _
    "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As _
    Any, lpcb As Long, lpcConnections As Long) As Long
    
    Public Declare Function RasHangUp Lib "rasapi32.dll" Alias _
    "RasHangUpA" (ByVal hRasConn As Long) As LongPublic gstrISPName As String
    Public ReturnCode As Long
    
    'Procedure
    
    Public Sub HangUp()
    Dim i As Long
    Dim lpRasConn(255) As RasConn
    Dim lpcb As Long
    Dim lpcConnections As Long
    Dim hRasConn As Long
    lpRasConn(0).dwSize = RAS_RASCONNSIZE
    lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
    lpcConnections = 0
    ReturnCode = RasEnumConnections(lpRasConn(0), lpcb, _
    lpcConnections)
    
    If ReturnCode = ERROR_SUCCESS Then
        For i = 0 To lpcConnections - 1
            If Trim(ByteToString(lpRasConn(i).szEntryName)) _
                = Trim(gstrISPName) Then
                hRasConn = lpRasConn(i).hRasConn
                ReturnCode = RasHangUp(ByVal hRasConn)
            End If
        Next i
    End If
    
    End Sub
    
    Public Function ByteToString(bytString() As Byte) As String
    Dim i As Integer
    ByteToString = ""
    i = 0
    While bytString(i) = 0&
    ByteToString = ByteToString & Chr(bytString(i))
    i = i + 1
    Wend
    End Function
    
    'Use:
    'Call HangUp

    I know not of an efficient way to set the interval...
    apart from a counter with a counter function...


    But i think that's v. inefficient?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width