Gleich zu Beginn eine Einschränkung, wenn Sie hoffen,
mit diesem Tipp den Status Ihrer Verbindung zu AOL abzufragen und daraufhin ggf. einen
Onlinetimer zu entwerfen ...
Das geht nicht, .... weil, die AOL Verbindung über Winsock aufgebaut wird und
dies ist halt nicht mit einer DFÜ Verbindung vergleichbar.
Wenn Sie aber über Modem eine Direktverbindung zu einer Mailbox oder einen Dienstanbieter
mit direkter Interneteinwahl haben, oder Sie sich über RAS zu einem anderen Rechner
verbinden, dann klappt es.
Sie benötigen
1. ein neues Projekt mit einer Form und einem Modul
2. Im Allgemein/Deklarationen Abschnitt des Moduls folgenden Code.
Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias
"RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As
Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias
"RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32 Public Type
RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
3. Eine eigene Prozedur unter Allgemein/IsConnected des Moduls entsteht
beim Einfügen des Codes automatisch.
Public Function IsConnected() As Integer
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If lpcon = 0 Then
IsConnected = 0
Exit Function
End If
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = 2
Else
IsConnected = 1
End If
End Function
4. Fügen Sie in Ihre Form ein Labelobjekt als Ausgabefenster und einen
Timer ein, dessen Intervall Sie auf 500 (als 0,5Sek.) stellen.
5. Nun geben Sie dem Timer noch folgendes mit auf den Weg.
Select Case IsConnected
Case 0
Label1.Caption = "Keine Verbindung"
Case 1
Label1.Caption = "Verbindung wird auf-/abgebaut"
Case 2
Label1.Caption = "Verbindung steht"
End Select
6. Für die visuelle Verschönerung sind Sie zuständig, ansonsten war es
das schon. Starten sie Ihr Projekt zum Test mit F5.
Den Sourcecode zugesendet hat Oliver, auch wenn er darauf verweißt nicht der Autor zu
sein, trotzdem besten Dank, das wir den Tipp mit in die Datenbank aufnehmen können. |