![]() |
Funktion: IsNetworkConnected ??
Delphi-Quellcode:
Dies Funktion liefert dauernd True bei mir. Obwohl ich kein Netzwerkkabel dran haben. Die Netzwerkkarte ist deaktiviert und ich bin auch nicht im Internet.
function IsNetworkConnected: Boolean;
begin Result := (GetSystemMetrics(SM_NETWORK) and $01) = $01; end; Warum kommt denn dann immer True? Sven |
Re: Funktion: IsNetworkConnected ??
|
Re: Funktion: IsNetworkConnected ??
Guck mal im Forum. Wie man feststelt, ob man online ist, hatten wir hier schon ein paar mal.
|
Morgen,
SubData: Genau das hatte ich eingebunden, aber er zeigt immer an, daß man mit dem Netzwerk verbunden ist, selbst wenn ich den Stecker gezogen habe. Da bringt die Funktion von Daniel B also nichts, da ich exakt die gleiche verwende. Luckie: Es geht erstmal darum, daß man herausfindet, ob man mit dem Netzwerk verbunden ist, nicht mit dem Internet. Naja, ich werd' dann mal weitersuchen! Falls jemand noch meint eine Hilfestellung geben zu können, dann bitte! :) |
Re: Funktion: IsNetworkConnected ??
Ping doch den Server an. Oder schick ein Broadcast ins Netz, wenn da snicht klappt, dann bist du wohl nicht mit dem Netzwerk verbunden.
|
Hi Luckie!
Und wie soll das Programm wissen, wie die IP-Adresse lautet? Es wird ja in unterschiedlichen Unternehmen angewendet, die immer - logischerweise - 'ne andere IP haben. Nun muß das OS ermittelt werden, um die entsprechende Funktion dafür dann aufzurufen. Dabei könnte ich auch mal wieder Eure Hilfe gebrauchen! |
Hallo nochmal,
ich bräuchte nun mal eine Netzwerkstatus-Überprüfung, die Windows 95, 98, NT und ME durchguckt. Je nach OS wird dann entweder diese Funktion, oder die, die XP unterstützt, aufgerufen. Allerdings funktioniert's unter XP Home Edition auch nicht! Naja, postet mal über's WE, ich schau zuhause mal rein und teste mal bißchen rum. Schon mal danke für Eure Hilfe! |
Liste der Anhänge anzeigen (Anzahl: 1)
Naja, was soll's, Ihr wisst ja sowieso nicht, was wir mit dem Script vorhaben, von daher stelle ich es als Anhang rein.
Vielleicht kann der ein oder andere mal schauen - wenn er lustig ist - und bißchen coden. Eventuell klappt's ja bei Euch! |
Re: Funktion: IsNetworkConnected ??
Bitte schieb im Zukunft deine Beiträge erst nach 24 Stunden. Bis dahin kannst du deine Posting noch änderen. Danke.
|
*zur Erinnerung nochmal nach oben schiebt*
|
*..und nochmal nach oben schiebt*
|
Re: Funktion: IsNetworkConnected ??
in der Unit "wininet" gibt es die Funktion "InternetGetConnectedState". Die gibt dir den Status der Verbindung zurück.
Delphi-Quellcode:
genauere Hilfe zu der funktion gibts im msdn
function ConnectedToLan: Boolean;
var LWord: DWord; begin LWord := INTERNET_CONNECTION_LAN; result := InternetGetConnectedState(@LWord, 0); end; ![]() |
Hallo,
hab's getestet, funktioniert kein bißchen. |
Re: Funktion: IsNetworkConnected ??
habs auch getestet und bei mir funktionierts auch nicht, aber laut msdn sollte es funktionieren.
|
Hast Du den Anhang mal runtergeladen und es daran getestet?
Naja, zur Zeit hab' ich echt keine Ahnung, was ich noch machen könnte.. |
*..weiterschiebt*
|
Morgen,
soweit habe ich jetzt alles (also Betriebssystem wird ermittelt, für XP & 2000 läuft die Funktion). Jetzt bräuchte ich nur noch eine Funktion, die unter NT und niedriger überprüft, ob der Netzwerkstatus aktiv ist oder nicht. Weiß jemand Rat? |
Re: Funktion: IsNetworkConnected ??
Moin...
(für meinen Geschmack pushst du zu viel/häufig) Bringt es dich weiter, wenn du deine eigene IP pingst? Hab das grad getestet und bei mir gings. 127.0.0.1 ging und 192.168.x.x ging nicht nachdem ich mein Netzwerkkabel gezogen hatte. Die eigene IP kannst du ja ermitteln - ich glaube das Stichwort "Neo.pas" hilft da weiter. musst mal hier im Forum suchen und testen. MfG Toni |
Hi,
genau das habe ich ja gemacht, aber diese Variante läuft nur unter XP & 2000. Unter NT und niedriger funktioniert das noch nicht recht. Welches OS hast Du denn, wenn man fragen darf? |
Re: Funktion: IsNetworkConnected ??
Sorry, hab ich entweder "überlesen" oder nur halb mitgedacht (Montag Morgen halt) :roll:
Hab ein 2k System. Schau mal in der 'Hosts-Datei' ob da u.U. deine IP-Eingetragen ist. Wenn ja, mach sie mal raus und versuchs nochmal. Sollte zumindest Aufschluss darüber geben worans liegt, dass es dort anders ist. Sollte dort zu Finden sein: WINNT\system32\drivers\etc\SERVICES MfG Toni |
Hallo,
ich habe so irgendwie das Gefühl, wir reden aneinander vorbei. Es gibt eine Möglichkeit für 2000 & XP zu prüfen, ob eine Netzwerkverbindung aktiv ist oder nicht. Dann muß es auch eine Möglichkeit für ältere Windows-Versionen geben. Falls nicht: Könnte mir mal jemand erklären, wie ich das mit dem anpingen mache? Also z.B. ![]() Allerdings kann's ja auch mal sein, daß die Seite offline ist und dann hab' ich das nächste Problem.. :roll: |
Re: Funktion: IsNetworkConnected ??
Ich glaube, ich habe dich schon verstanden...
Wenn in der oben beschriebenen Datei eine IP-Adresse eingetragen ist, so wird sie sofort, also lokal, aufgelöst und die Anfrage landet garnicht erst im netz. Die Tatsache, dass sie bei Win2K nicht eingetragen ist sorgt dafür, dass sie doch ins netz gesendet wird, wo natürlich nur eine Antwort ala "Ey, das bist du selber" zurückkommt, wenn (zumindest) ein netzwerkkabel angeschlossen ist. Darum schau doch bitte man nach, ob vielleicht in dieser Datei unter WinNT die eigene IP-Adresse vielleicht standardmäßig eingetragen ist. wenn ja, ist das dein Problem! regards Toni |
Liste der Anhänge anzeigen (Anzahl: 1)
Nee, ist keine IP eingetragen.
Das Problem liegt woanders, aber ich weiß nicht wo. Hier sind doch soviele Freaks online - weiß denn wirklich keiner eine Lösung??? Ich hänge nochmal die aktuelle Version vom Programm an, vllt. findet Ihr ja was raus, ich hab' jetzt bald so alles durchprobiert und weiß irgendwie nicht weiter. :? |
Re: Funktion: IsNetworkConnected ??
Morgends keinen Joint und Google ist deinen Freund.
Simple ![]() [nicht getestet] Toni |
Könntest Du das ganze nochmal auf deutsch formulieren? Ich verstehe atm nur Bahnhof! :)
|
Re: Funktion: IsNetworkConnected ??
Das beste wird sein, du klickst auf den Link :wink:
|
Re: Funktion: IsNetworkConnected ??
ganz unten steht:
Zitat:
Zitat:
wenn du hier klickst ![]() Toni |
Re: Funktion: IsNetworkConnected ??
Beim Parameter muss nichts ausser einer Variable angegeben werden, die Funktion füllt diese dann mit dem entsprechenden Wert.
Delphi-Quellcode:
EDIT: Rückgabewert vergessen.
function IsNetworkAlive(var dwFlags: DWORD): bool; external 'sensapi.dll'; stdcall;
|
Und wie sieht dann die komplette Prozedur aus?
|
Re: Funktion: IsNetworkConnected ??
genau so, sie wird ja aus der DLL importiert.
|
Ist schon klar, so wird sie deklariert, aber wenn ich nun abfragen will, ob der Status aktiv ist oder nicht, wie mache ich das dann?
|
Wenn ich die Funktion deklariere, kommen folgende Fehlermeldungen:
Code:
Ich habe die Funktion exakt so deklariert, wie sie hier gepostet wurde.
[Fehler] UVTP.pas(31): Felddefinition nicht erlaubt nach Methoden oder Eigenschaften
[Fehler] UVTP.pas(31): ',' oder ':' erwartet, aber ';' gefunden [Fehler] UVTP.pas(32): Funktion benötigt Ergebnistyp [Fehler] UVTP.pas(167): Undefinierter Bezeichner: 'FPCName' [Fehler] UVTP.pas(174): Undefinierter Bezeichner: 'Result' [Fehler] UVTP.pas(272): Undefinierter Bezeichner: 'FPCName' [Fehler] UVTP.pas(31): Ungenügende Forward- oder External-Deklaration: 'TFrmVTP.IsNetworkAlive' [Fataler Fehler] VTP.dpr(5): Verwendete Unit 'UVTP.pas' kann nicht compiliert werden Was hab' ich falsch gemacht? |
Re: Funktion: IsNetworkConnected ??
Im ernst justify... sei nicht böse, ist auch nicht so gemeint...
Benutzt du auch mal die Such-Funktion im Forum oder Google? Hier wird dir Stück für Stück der Code geschrieben und ich habe selbst mehrere dezente Hinweise auf diverse Quellen geliefert. Ich würde das jetzt nicht so direkt formulieren, wenn nicht der erste(!) Hit, den Google auswirft beim Suchwort "NETWORK_ALIVE_LAN" - das ist das was du wissen willst (eine Konstante) auf die DP verweisen würde, die du ja (angeblich) schon komplett (ich neige zu Übertreibungen, ich weiss) durchsucht hast. Was du suchst hat NicoDE ![]() sorry... musste jetzt sein. Ich hoffe ich war nicht zu barsch aber ich habe mich mit dem Thema heute keine 20 min beschäftigt und finde 2 Threads in denen du diese Frage stellst und den kompletten Code in einem Dritten - alles in der DP. regards Toni |
Hi,
ja, Du hast Recht! Die Funktion haben wir soeben umgecodet und getestet - leider auch mangelhaft! Er gibt immer den Status "verbunden" zurück, auch wenn der Netzstecker draußen ist. Naja, morgen ist ja auch noch ein Tag! :???: |
Hallo,
hat jemand zufällig 'ne Idee, wie man den Netzwerkstatus bei NT & niedriger überprüfen kann? Vielleicht gibt's ja 'nen Trick, wie beim Internetverbindungstest z.B.?! Habe dort mehrere URL's angepingt und wenn er eine Antwort bekommt, gibt er den Status "verbunden" zurück. Kann man da in der Richtung evtl. auch was für die LAN-Verbindung machen und wenn ja, was? Danke schon mal.. |
Hai justify,
ich denke es reicht jetzt endgültig mit deinen Pushs in diesem Thread. Schon dein pushen nach dem ![]() Wenn sich das nicht ändert werde ich den Thread ohne weiteren Kommentar schliessen. |
Re: Funktion: IsNetworkConnected ??
IsNetworkConnected und InternetGetConnectedState liefern
immer true wenn dem Rechner eine IP zugewiesen worden ist du könntest mit Hilfe von InternetCheckConnection(PChar('http://www.google.com'), 1, 0) den Netzwerkstatus prüfen, die Methode versucht den Server zu pingen, läßt sich sicher auch auf dein LAN anwenden, wenn du keine URL übergibst wird der nächsten erreichbare Server gesucht, problematisch an der Methode ist lediglich das es relativ lange dauert bis man ein Ergebnis hat mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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