Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

[Resolvido] Erro com conexão

Recommended Posts

Boa tarde

 

Pessoal estou precisando fazer uma função que verifique se a máquina esta com internet, com a ajuda do pessoal consegui criar uma que verifica se a máquina tem rede, Essa função funciona mas ela identifica apenas o tipo de rede, tipo de eu desligar o modem e deixar a máquina lingada na rede ele informa que a máquina esta na lan, mas o qiue preciso é que seja informado que esta sem net. Como fazer isso?

 

veja como fiz:

 

Public Class TestaConexao2
  Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, _
      ByVal dwReserved As Int32) As Boolean

  Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As IntPtr, _
  ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection As Int32, _
  ByVal dwReserved As Int32) As Int32

  Private Declare Function InternetHangUp Lib "Wininet.dll" _
  (ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32

  Public Enum ConnectionStateFlags As Int32
    INTERNET_CONNECTION_CONFIGURED = &H40
    INTERNET_CONNECTION_LAN = &H2
    INTERNET_CONNECTION_MODEM = &H1
    INTERNET_CONNECTION_MODEM_BUSY = &H8
    INTERNET_CONNECTION_PROXY = &H4
    INTERNET_CONNECTION_OFFLINE = &H20
    INTERNET_RAS_INSTALLED = &H10
  End Enum

  Public Shared Function GetConnectedState(ByRef flags As Int32) As Boolean

    If InternetGetConnectedState(flags, 0) Then
      Return True
    End If
    Return False

  End Function

  Public Shared Function ConfirmaConexao() As Integer

    Dim flags As Int32
    Dim resultado As Integer = 1
    If GetConnectedState(flags) Then
      resultado = 1
    Else
      resultado = 0
    End If
    Return resultado
  End Function

End Class

 

Public Class Form2
  Sub TesteWin32Wrapper()

    Dim flags As Int32

    If TestaConexao2.GetConnectedState(flags) Then

      If (flags And TestaConexao2.ConnectionStateFlags.INTERNET_CONNECTION_LAN) Then
        MessageBox.Show("LAN...")
      ElseIf (flags And TestaConexao2.ConnectionStateFlags.INTERNET_CONNECTION_MODEM) Then
        MessageBox.Show("Modem...")
      Else
        MessageBox.Show("Outro tipo de conexão...")
      End If
    Else
      MessageBox.Show("Desconectado")
    End If

  End Sub
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TesteWin32Wrapper()
  End Sub

  End Class

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido, segue abaixo a solução:

Public Function ExisteConexaoInternet(ByVal url As String) As Boolean
        'Define uma URL valida para consultar

        Dim HomePage As New System.Uri(url)

        'Monta a requisisão HTTP

        Dim req As System.Net.WebRequest



        req = System.Net.WebRequest.Create(HomePage)


        'Tenta fazer a requisisão
        Try

            Dim resp As System.Net.WebResponse

            resp = req.GetResponse()

            resp.Close()

            req = Nothing

            'Tudo certo... Temos conexão com a Internet

            Return True

        Catch



            req = Nothing

     
     'Não há conexão

            Return False


        End Try
    End Function


Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.