![]() |
InternetGetConnectedState funktioniert nicht mit Netzwerk
Hi Leute,
ich benutze folgenden Code, um herauszufinden, ob ich online bin (ausm EDH):
Delphi-Quellcode:
Bei mir (direkt über IDSN-Modem) funktioniert auch einwandfrei. Nur mein Kumpel geht über LAN online und da klappt das nich. Ich hab auch schon probiert die + durch or zu ersetzen, aber es hat nich geklappt... :(
function TfrmMain.IsOnline: Boolean;
var dlvFlag : DWord; begin Result:=False; dlvFlag := Internet_Connection_Modem + Internet_Connection_Lan + Internet_Connection_Proxy; If InternetGetConnectedState ( @dlvFlag, 0 ) = True Then Result:=dlvFlag = 81; end; Jemand ne Idee, woran das liegen könnte oder wie man anders rausbekommen kann, ob man online ist? mfg, mh166 |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
das wird wohl daran liegen das nicht aktiv überprüft wird, ob man wirklich ins internet kommt, da wohl nur der proxy gesehen wird vom router ( lan ) und das soll dan online heissen ;)
|
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Nun ja, sobald er mit dem andern Computer verbunden ist, über den er ins Internet geht, ist er eben online. Die Funktion kann eben nicht entscheiden, ob der andere Rechner mit dem man verbunden ist, im Raum nebenan steht oder oder beim Provider im Keller.
Ich rufe eine Seite aus dem Internet auf und wenn ich da drankomme bin ich online (zu 95%, die Seite könnte auch down sein). Günstigerweise steht auf der Seiet auch meine IP, so dass ich die auch gleich habe: ![]() |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Jetzt frag ich mich allerdings, ob es wirklich praktisch is, 2x pro Sekunde diese Webseite aufzurufen... :?
mfg, mh166 |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Zitat:
Warum musst du das so oft wissen? |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Moin mh166,
Zitat:
In diesem Falle spielt es ausnahmsweise mal keine Rolle, da die Funktion in den Flags einen Wert zurückliefert, und nicht auswertet, was in der Variablen steht. Deine Funktion müsste eigentlich nur so aussehen:
Delphi-Quellcode:
function TfrmMain.IsOnline: Boolean;
var dlfFlag : DWORD; begin Result := InternetGetConnectedState (@dlvFlag,0); end; |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Zitat:
Zitat:
Hättest du also ne Idee, wie man das machen könnte? mfg, mh166 |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Moin mh166,
wie kommst Du eigentlich auf die Abfrage nach dvfFlags = 81? Wenn dann müsstest Du (dvfFlags and INTERNET_CONNECTION_OFFLINE) = 0 prüfen. |
Re: InternetGetConnectedState funktioniert nicht mit Netzwer
Ich komm da gar nich drauf... Ich habs nur so ausm EDH üebrnommen.
Ich werd mal das mit nur diesem @Flag probieren. Mal sehen, obs klappt... ABer hat sonst jemand ne IDee, wie man - ressourcensparend aber trotzdem zuverlässig - 2x pro Sekunde checken kann, ob man online is? mfg, mh166 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz