DETECTAR CONEXAO COM INTERNET

USUARIO.EXCLUIDOS 14/06/2004 15:38:30
#29563
Bom dia galera... to com um problema serio... preciso de uma maneira de detectar qdo o computador se conecta com a internet (como o NDetect do ICQ) pelo vb. Alguem sabe como?

desde ja valew[S67]

[S46]
WEBMASTER 15/06/2004 11:11:21
#29690
Resposta escolhida

Esta função usa a sintaxe de declaração abaixo:
Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef dwflags As Long, ByVal dwReserved As Long) As Long

A função retorna 1 se uma conexão existir e zero em caso contrário. Você pode facilmente converter estes valores no seus equivalentes booleanos no VB. Após o teste, o parà¢metro dwflags irá indicar que tipo de conexão o usuário tem. Você pode usar comparações de bits para testar por valores específicos. As constantes para dwflags são as seguintes:

Private Const CONNECT_LAN As Long = &H2
Private Const CONNECT_MODEM As Long = &H1
Private Const CONNECT_PROXY As Long = &H4
Private Const CONNECT_RAS As Long = &H10
Private Const CONNECT_OFFLINE As Long = &H20
Private Const CONNECT_CONFIGURED As Long = &H40

Você pode ignorar o parà¢metro dwReserved.

Para ver como esta função trabalha, crie um projeto no VB e adicione um botão de comando ao formulário padrão. Insira as declarações das constantes e da função InternetGetConnectedState como mostrado acima. Em seguida insira o código abaixo:

Public Function IsWebConnected(Optional ByRef ConnType As String) As Boolean
Dim dwflags As Long
Dim WebTest As Boolean
ConnType = ""
WebTest = InternetGetConnectedState(dwflags, 0&)
Select Case WebTest
Case dwflags And CONNECT_LAN: ConnType = "LAN"
Case dwflags And CONNECT_MODEM: ConnType = "Modem"
Case dwflags And CONNECT_PROXY: ConnType = "Proxy"
Case dwflags And CONNECT_OFFLINE: ConnType = "Offline"
Case dwflags And CONNECT_CONFIGURED: ConnType = "Configurada"
Case dwflags And CONNECT_RAS: ConnType = "Remota"
End Select
IsWebConnected = WebTest
End Function

Private Sub Command1_Click()
Dim msg As String
If IsWebConnected(msg) Then
msg = "Você está conectado à  Internet via: " & msg
Else
msg = "Você não está conectado à  Internet."
End If
MsgBox msg, vbOKOnly, "Estado de conexão à  Internet"

End Sub
Quando você rodar o programa e clicar no botão de comando, a mensagem lhe dirá se você está conectado á Internet e por que tipo de conexão.
Tópico encerrado , respostas não são mais permitidas