Rubrik: HTML/Internet/Netzwerk · Internet / Browser / IE | VB-Versionen: VB4, VB5, VB6 | 01.11.00 |
Prüfen, ob eine DFÜ-Verbindung aktiv ist Um eine Anwendung mit Internet-Anbindung, einen Onlinecounter o.ä. erstellen, benötigen Sie die Information, ob eine DFÜ-Verbindung aktiv ist... | ||
Autor: Dieter Otter | Bewertung: | Views: 19.829 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Möchten Sie eine Anwendung mit Internet-Anbindung, einen Onlinecounter o.ä. erstellen, so können Sie mit folgenden Anweisungen feststellen, ob momentan eine DFÜ-Verbindung aktiv ist, d.h. ob der Anwender online ist.
Type RASCONN dwSize As Long hRasConn As Long szEntryName(256) As Byte szDeviceType(16) As Byte szDeviceName(128) As Byte End Type Declare Function RasEnumConnectionsA Lib "RasApi32.DLL" ( _ lpRasConn As Any, _ lbcp As Long, _ lbcConnections As Long) As Long
Als erstes wird ein Array der Struktur RASCONN dimensioniert, in welchem alle bestehenden DFÜ-Verbindungen gespeichert werden. Bevor die API-Funktion aufgerufen wird, müssen wir dem System mitteilen, wieviel Puffer wir zur Rückgabe der Informationen zur Verfügung stellen. Dieser Wert wird in der Variabel dwSize abgelegt. Nun kann mit der Abfrage begonnen werden, indem die Startadresse des Arrays (Index 0) als erster Parameter übergeben wird. Es sind rein theoretisch bis zu 256 Verbindungen möglich. Daher übergeben wir im nächsten Parameter die ermittelte Größe der RASCONN-Struktur multipliziert mit 256. Als letzten Parameter übergeben wir der Funktion eine Variablen vom Typ Long, in der uns das System informiert, wieviele Verbindungsinformationen im Array abgelegt wurden.
Dim lpRasConn(255) As RASCONN Dim lpcConnections As Long Dim lpcb As Long Dim hRasConn As Long Dim NameRasConn As String Dim x As Integer lpRasConn(0).dwSize = 412 lpcb = 256 * lpRasConn(0).dwSize RasEnumConnectionsA lpRasConn(0), lpcb, lpcConnections If lpcConnections < 1 Then ' es besteht keine DFÜ-Verbindung ... Else ' es besteht mind. 1 DFÜ-Verbindung For x = 0 To lpcConnections - 1 hRasConn = lpRasConn(x).hRasConn ' Handle der Verbindung NameRasConn = StrConv(lpRasConn(x).szEntryName, _ vbUnicode) NameRasConn = Left$(NameRasConn, InStr(NameRasConn, _ vbNullChar) -1) Debug.Print NameRasConn & " ist aktiv." Next x End If