InternetGetConnectedState (wininet)
Last changed: -67.166.68.151

.
Summary
TODO - a short description

C# Signature:

[DllImport("wininet.dll", SetLastError=true)]
extern static bool InternetGetConnectedState(
   out InternetGetConnectedStateFlags Description, int ReservedValue);

VB Signature:

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

User-Defined Types:

InternetGetConnectedStateFlags

Notes:

Private Enum ConnectionStates
    Modem = &H1
    LAN = &H2
    Proxy = &H4
    RasInstalled = &H10
    Offline = &H20
    Configured = &H40
End Enum

Tips & Tricks:

Please add some!

Sample Code:

C: http://support.microsoft.com/default.aspx?scid=kb;EN-US;242558

C#: http://www.aspemporium.com/aspEmporium/cshrp/howtos/howto.asp?hid=27

VB

Function InternetGetConnectedState(ByRef plngFlags As Long, Optional ByRef p_return_str As String = "") As Boolean

   Dim lngFlags As Long

      lngFlags = 0
      _InternetGetConnectedState = False

      If InternetGetConnectedState(lngFlags, 0) Then
     'connected.
     If lngFlags And ConnectionStates.LAN Then
        'LAN connection.
        p_return_str = "LAN connection."
     ElseIf lngFlags And ConnectionStates.Modem Then
        'Modem connection.
        p_return_str = "Modem connection."
     ElseIf lngFlags And ConnectionStates.Proxy Then
        'Proxy connection.
        p_return_str = "Proxy connection."
     End If

     _InternetGetConnectedState = True

      Else
     'not connected.
     p_return_str = "Not connected."
     _InternetGetConnectedState = False
      End If

      p_lngFlags = lngFlags

End Function

Alternative Managed API:

Try NetworkInterface.GetIsNetworkAvailable() in the the System.Net.NetworkInformation namespace. It returns true when a network is available and false otherwise. See also: http://msdn2.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.getisnetworkavailable(VS.80).aspx. NOTE: this is all new in .NET 2.0!

Documentation

Direct Link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetgetconnectedstate.asp