![]() |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Hi,
die ultimative Lösung habe auch ich nicht. Aber hast Du schon mal folgende Funktionen angeschaut? ![]() ![]() Gruß, Markus |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
@DafOx: hast du schonmal damit gearbeitet? Wollte gerade die Sensapi.dll einbinden, aber Delphi brachte mir eine Fehlermeldung, dass es nicht ginge ("Fehler beim Laden der Typbibliothek/DLL").
Hab ich vielleicht was übersehen? :?: |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Zitat:
Zudem gibt es die NetworkConnectionID ubd NetworkConnectionStatus unter WinSE nicht... |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Also ich hab deine genommen :?
Aber vielleicht liegt es ja noch an der DLL? Kannst du deine mal noch mit posten? |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Zitat:
![]() ( ps: befinden sich unter WIn9x in %windir%\system\WBEM ) Zum Beitrag oben, IsNetworkAlive() liefert immer noch LAN zurück wenn das Kabel längst gezogen wurde...
Delphi-Quellcode:
const
NETWORK_ALIVE_LAN = $00000001; NETWORK_ALIVE_WAN = $00000002; NETWORK_ALIVE_AOL = $00000004; function IsNetworkAlive(out Flags: DWORD): BOOL; stdcall; external 'sensapi.dll' name 'IsNetworkAlive'; procedure TForm1.Button1Click(Sender: TObject); var Flags: DWORD; Text: string; begin Text := 'IsNetworkAlive: '; if not IsNetworkAlive(Flags) then Text := Text + '<offline>' else begin if (Flags and NETWORK_ALIVE_LAN) = NETWORK_ALIVE_LAN then Text := Text + 'LAN, '; if (Flags and NETWORK_ALIVE_WAN) = NETWORK_ALIVE_WAN then Text := Text + 'WAN, '; if (Flags and NETWORK_ALIVE_AOL) = NETWORK_ALIVE_AOL then Text := Text + 'Looser, '; Text := Text + '...'; end; ShowMessage(Text); end; |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Zitat:
Reaktionszeit < 1 Sekunde :-D PS: Danke nochmal für die Dateien und den Code |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Ähm, hab ich jetzt 'nen Denkfehler? Weil wenn ich
Delphi-Quellcode:
einbinde, sagt mir Delphi, "der Prozedureinstiegspunkt wurde nicht gefunden". Aber laut MSDN heißt die Funktion doch so.
function IsDestinationReachable(Destination: String): BOOL; stdcall;
external 'sensapi.dll' name 'IsDestinationReachable'; Ich dreh hier gleich durch :wall: |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Hi.
Delphi-Quellcode:
Gruß,
PQOCInfo = ^TQOCInfo;
TQOCInfo = record dwSize: Integer; dwFlags: Integer; dwInSpeed: Integer; dwOutSpeed: Integer; end; function IsDestinationReachable(Destination: PChar; QOCInfo: pQOCInfo): BOOL; stdcall; external 'sensapi.dll' name 'IsDestinationReachableA'; Markus |
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
Na auf das A muss man erstmal kommen. Danke :-D
|
Re: Feststellen, ob Netzwerkkabel gezogen wurde?
ne ganz einfache möglichkeit is (die supermuckl und ich eben herrausgefunden haben), ping einfach alle netzwerkkarten von dir an.. wenn das kabel gezogen ist, deaktiviert sich die karte und die ip existiert somit nicht mehr!
das klappt auf allen 5 rechnern hier, also warum nicht auch bei dir / euch !? MfG Powerstreamer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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