Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aktive Verbindung zum Internet?

0 views
Skip to first unread message

Andreas Born

unread,
Aug 14, 2001, 7:00:49 PM8/14/01
to
Hallo,

ich weiß zwar, wie man aktive RAS-Verbindungen auflistet, aber nicht, wie
man das mit Netzwerkanbindungen macht.

Außerdem müßte ich noch feststellen können, ob es sich bei einer
Netzwerkverbindung um einen "echten" Zugang handelt, also über einen Router
bzw Gateway, oder ob Proxies im Spiel sind (echte IP oder nicht, ->
Heimnetzwerk).

Any idea?

Wäre auch für URL's ganz dankbar !

Viele Grüße, Andreas


Jens Kersting

unread,
Aug 14, 2001, 7:21:55 PM8/14/01
to
(basicworld.de=>VBPlus)
Besteht eine DFÜ-Verbindung?

Schreiben Sie eine Anwendung mit Internet-Anbindung, einen Gebührenzähler
oder ähnliche Anwendungen? Dann sollten Sie wissen, ob überhaupt eine
Verbindung besteht (die Einschränkung gleich vorweg: hier wird es nur um
Verbindungen des DFÜ-Netzwerks gehen - proprietäre Einwählprogramme wie
T-Online, AOL werden nicht erfaßt).

Das 32 Bit-API bietet hierfür die Funktionen RasEnumConnections, die die
aktiven Verbindungen des DFÜ-Netzwerks auflistet:

' 32 Bit
Private Type RASCONN
dwSize As Long
hRasConn As Long
szEntryName(256) As Byte
szDeviceType(16) As Byte
szDeviceName(128) As Byte
End Type

Private Declare Function RasEnumConnectionsA& Lib "RasApi32.DLL" _
(lprasconn As Any, lpcb&, lpcConnections&)
Zunächst wird ein Array der Struktur RASCONN dimensioniert, das dazu dienen
soll, alle bestehenden DFÜ-Verbindungen zu erfassen. Vor dem Aufruf
übergeben wir die Größe der Struktur mit 412 Bytes, um Windows mitteilen zu
können, wieviel Puffer wir zur Rückgabe von Informationen zur Verfügung
stellen werden. Nun kann mit der Abfrage mittels RasEnumConnections begonnen
werden, indem die Startadresse des Arrays (das erste Element des Arrays mit
dem Index 0) als erster Parameter übergeben wird. Da theoretisch bis zu 256
Verbindungen möglich sind, übergeben wir im nächsten Parameter die
ermittelte Größe der RASCONN-Struktur (multipliziert mit 256) in der
Variablen lpcb. Als letzten Parameter übergeben wir eine als Long
dimensionierte Variable, in der Windows uns informieren wird, wieviele
Verbindungsinformationen im Array abgelegt wurden:

Dim lprasconn(255) As RASCONN, lpcConnections As Long, _
lpcb As Long, hRasConn As Long, NameRasConn As String
lprasconn(0).dwSize = 412
lpcb = 256 * lprasconn(0).dwSize

If RasEnumConnectionsA(lprasconn(0), lpcb, lpcConnections) = 0 Then
'....
Liefert Windows in lpcConnections eine 0 zurück, können wir uns jede weitere
Anstrengung sparen - es besteht keine Verbindung. Andernfalls können wir
(für die weitere Verwendung wie beispielsweise einen Verbindungsabbruch
mittels der Funktion RasHangUp) die Handle der Verbindung im Parameter
hRasConn der RASCONN95-Struktur ermitteln und den Verbindungsnamen (der noch
in Unicode umgesetzt und des abschließenden Escape-Zeichens vbNullChar
beraubt werden will) deren Parameter szEntryName entnehmen:

'....
If lpcConnections > 0 Then ' Eine DFÜ-Netzwerkverbindung ist aktiv
hRasConn = lprasconn(0).hRasConn ' Handle der Verbindung
NameRasConn = StrConv(lprasconn(0).szEntryName, vbUnicode)
NameRasConn = Left$(NameRasConn, InStr(NameRasConn, vbNullChar) - 1)
MsgBox "Folgende DFÜ-Netzwerkverbindung ist aktiv: " & NameRasConn
End If
End If
Auf analoge Weise können Sie die Stati aller Verbindungen abfragen, die
Windows zurückgeliefert hat: Deren Indizes liegen zwischen 0 und
lpcConnections - 1.

--
:Jens Kersting

Andreas Born <Andrea...@gmx.de> schrieb in im Newsbeitrag:
9lcb15$8g4rn$1...@ID-82403.news.dfncis.de...

Norbert Lotz

unread,
Aug 15, 2001, 2:19:39 AM8/15/01
to
Hallo Andreas

"Andreas Born" <Andrea...@gmx.de> schrieb im Newsbeitrag
news:9lcb15$8g4rn$1...@ID-82403.news.dfncis.de...


Hier die URL:
http://www.mvps.org/vbnet/code/network/internetgetconnectedstate.htm

mfg
Norbert


Andreas Born

unread,
Aug 15, 2001, 10:23:14 AM8/15/01
to
"Norbert Lotz" <nl...@elphotec.de> schrieb:

Danke für die Info.
Damit kann ich schonmal was anfangen, allerdings ist das doch von einer
IE4-Installation abhängig. (Wininet.dll)

Für den Fall, daß IE nicht installiert ist, bräuchte ich dennoch eine
Alternative...

Viele Grüße, Andreas

Andreas Born

unread,
Aug 15, 2001, 10:28:31 AM8/15/01
to
"Jens Kersting" <show...@gmx.de> schrieb:


> (basicworld.de=>VBPlus)
> Besteht eine DFÜ-Verbindung?
>
> Schreiben Sie eine Anwendung mit Internet-Anbindung, einen Gebührenzähler
> oder ähnliche Anwendungen? Dann sollten Sie wissen, ob überhaupt eine
> Verbindung besteht (die Einschränkung gleich vorweg: hier wird es nur um
> Verbindungen des DFÜ-Netzwerks gehen - proprietäre Einwählprogramme wie
> T-Online, AOL werden nicht erfaßt).

Danke, aber das beschreibt eben nur die RAS-Verbindungen. LAN-Verbindungen
werden damit leider nicht erfaßt. Hauptproblem ist festzustellen, ob der PC
über LAN mit dem Internet verbunden ist, und wenn ja, wie
(Gateway/ICS/Proxy...)

Die Erklärungen im Artikel sind aber trotzdem Hilfreich gewesen!

Gruße, Andreas

0 new messages