RSS
StartseiteKnowledge LibraryTop 10Impressum

8.1 Wie stelle ich fest, ob eine DFÜ Verbindung besteht?

VB4-VB6

Von: Thorsten Dörfler

Oftmals benötigt man die Information, ob der Rechner momentan über eine DFÜ - Verbindung mit einem Netzwerk bzw. dem Internet verbunden ist. Dazu kann man das RAS-API befragen, indem man die Anzahl der offenen Verbindungen abfragt und prüft, ob mindestens eine Verbindung besteht. Als handliche Funktion, könnte dies wie folgt aussehen:

' --- Deklaration ---
Private Type RASCONN
  dwSize     As Long
  hRasConn   As Long
  sEntryName As String * 24
End Type

Private Declare Function RasEnumConnections Lib "rasapi32.dll" Alias _
       "RasEnumConnectionsA" (ByRef lpRasconn As RASCONN, _
        ByRef lpcB As Long, ByRef lpcConnections As Long) As Long

' Gibt zurück, ob eine DFÜ Verbindung besteht (True) oder nicht (False):
Public Function IsOnline() As Boolean
  Dim tRASCONN   As RASCONN
  Dim lRet       As Long
  Dim lConnCount As Long

  tRASCONN.dwSize = Len(tRASCONN)

  lRet = RasEnumConnections(tRASCONN, Len(tRASCONN), lConnCount)

  ' Geht davon aus, dass eine DFÜ Verbindung besteht,
  ' wenn die Anzahl der Verbindungen <> 0:
  IsOnline = CBool(lConnCount)
End Function

Möglicher Aufruf der Funktion:

Debug.Print IsOnline

An dieser Stelle sei nochmals erwähnt, dass diese Funktion nur prüft, ob eine DFÜ Verbindung zum Internet aufgebaut wurde. Eine Internetverbindung kann aber auch über andere Rechner im Netzwerk hergestellt werden (Internet Connection Sharing), ohne dass eine DFÜ Verbindung benötigt wird. Daher sollte dem Benutzer die Konfigurationsmöglichkeit gegeben werden, wo er festlegen kann, ob eine DFÜ- oder LAN- Verbindung für eine Internetverbindung benötigt wird (siehe z.B. Kontenkonfiguration von Outlook) und in Abhängigkeit dieser Information Gebrauch von der IsOnline Funktion gemacht werden.

Links zum Thema