+ Rispondi
Risultati da 1 a 4 di 4

Discussione: Rilevare connessione internet

  1. #1
    Utente della community
    reputazione complessiva: 1 1

    Messaggi
    250

    Rilevare connessione internet

    Ciao, è possibile rilevare se il computer ha una connessione internet attiva?

  2. #2
    Utente della community
    reputazione complessiva: 19 19

    Messaggi
    490
    Ciao Nottambulo.

    Vedi se ti va bene:
    Codice:
    If My.Computer.Network.IsAvailable Then
    .....
    Alberto.

  3. #3
    Collega della community L'avatar di Fix978
    reputazione complessiva: 47 47

    Messaggi
    971
    Blogs
    2
    Ciao,

    ho avuto anche io questa necessità in passato di controllare lo stato della mia connessione "Alice", per fare in modo di autoconnettermi nel caso di disconnessioni....

    Io ho utilizzato l' API InternetGetConnectedState della libreria wininet.dll, che ti dà la possibilità di recuperare il tipo di connessione internet attiva.... non ho avuto modo di approfondire in situazioni dov'è presente un Router autoconnesso, ma magari può tornarti utile lo stesso.

    Si dichiara l 'API
    Codice:
    Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, ByVal dwReserved As Int32) As Boolean
    L' enumeratore per lpdwFlags:
    Codice:
    Private Enum Flags As Integer
      'Local system uses a LAN to connect to the Internet.
      INTERNET_CONNECTION_LAN = &H2
      'Local system uses a modem to connect to the Internet.
      INTERNET_CONNECTION_MODEM = &H1
      'Local system uses a proxy server to connect to the Internet.
      INTERNET_CONNECTION_PROXY = &H4
      'Local system has RAS installed.
      INTERNET_RAS_INSTALLED = &H10
    End Enum
    e poi in un evento inserisci:
    Codice:
    Dim lngFlags As Long
    If InternetGetConnectedState(lngFlags, 0) Then
    
       If lngFlags And Flags.INTERNET_CONNECTION_LAN Then
          'LAN connection.
          MessageBox.Show("LAN connection.")
       ElseIf lngFlags And Flags.INTERNET_CONNECTION_MODEM Then
          'Modem connection.
          MessageBox.Show("Modem connection.")
       ElseIf lngFlags And Flags.INTERNET_CONNECTION_PROXY Then
          'Proxy connection.
          MessageBox.Show("Proxy connection.")
       End If
                    
    End If
    Oppure puoi andarci per vie "traverse", facendo un ping a google il cui esito ti potrà indicare che la linea Internet è attiva oppure no... (ma quì entrano in gioco anche i DNS)
    Codice:
     If My.Computer.Network.Ping("www.google.it") Then
         MessageBox.Show("CONNESSO")
     End If
    VB.Net: {Extension Methods} {Lambda Expressions}
    HowTo: {Windows 7 - Installare il Sistema su C e la cartella Users su D}

    è il metodo migliore per ringraziare chi ti è stato di aiuto.

  4. #4
    Utente della community
    reputazione complessiva: 1 1

    Messaggi
    250
    Grazie, vanno bene entrambi i casi.

+ Rispondi

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi