Teste este código.
Private Declare Function InternetAutodial Lib "wininet.dll" _
(ByVal dwFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function InternetAutodialHangup Lib "wininet.dll" _
(ByVal dwReserved As Long) As Long
Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
'e depois uma sub no form
Private Sub ChamaConexao()
If MsgBox("Deseja Ativar a Conexão ?", vbQuestion + vbYesNo, ROTULO) = vbYes Then
If InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE, 0) Then
MsgBox "Você esta conectado!", vbInformation, ROTULO
Command2.Enabled = True
Else
'inicia a discagem automaticamente
If InternetAutodial(INTERNET_AUTODIAL_FORCE_UNATTENDED, 0) Then
MsgBox "Você já esta conectado!", vbInformation, ROTULO
cmdDesco.Enabled = True
Else
'desconecta
If InternetAutodialHangup(0) Then
MsgBox "Você esta desconectado", vbInformation, ROTULO
cmdDesco.Enabled = False
End If
End If
End If
End If
End Sub
Private Sub Command1_Click()
ChamaConexao
End Sub
Private Sub Command2_Click()
'e um outro botão command
If MsgBox("Deseja Desconectar ? ", vbQuestion + vbYesNo, ROTULO) = vbYes Then
InternetAutodialHangup (0)
MsgBox "Você esta desconectado", vbInformation, ROTULO
Command2.Enabled = False
End If
End Sub