![]() |
WNetGetConnection erkenne ob LW getrennt wurde?
PC1 stellt das Laufwerk zur Verfügung.
PC2 verbindet sich mit diesem und dort soll geprüft werden ob das Netzlaufwerk noch da ist. Ich teste dies gerade und stelle fest. Beim ersten Aufruf alles Ok. Zeigt den UncNamen an usw. Wenn die Netzwerkverbindung nicht mehr da ist und ich rufe die Funktion noch mal auf gibt es keine Fehlermeldung! Gehe ich richtig in der Annahme das dies nicht geprüft wird ob das Netzwerk da ist? MSDN hat zwar Fehlercode ausgewiesen aber erhalten tue ich nur zwei , NOT_CONNECTED oder NO_ERROR. WinXP Ich suche eine Funktion die zur Laufzeit Prüft (evtl jede sec) ob das Netzlaufwerk noch da ist was Pc1 zu Verfügung stellt. Gruß alfold |
AW: WNetGetConnection erkenne ob LW getrennt wurde?
Zitat:
ERROR_CONNECTION_UNAVAIL erscheint wenn das LW noch nie verbunden wurde. und das wars. Bei Trennung oder nicht vorhandener Netzwerkkarte kommt keine weiter Fehlermeldung.:shock: Hinweis: (ich kann kein Engl.) :oops: falls jetzt jemand kommt und sagt in MSDN steht doch alles richtig drin. Ok: nehme ich die einfachste Möglichkeit mit DirectoryExists im Timer. Dauert unter Umständen etwas länger bis die Meldung kommt, aber funct wenigstens. :wink: Zu mindesten bei dem für was ich es brauche. Gruß alfold |
AW: WNetGetConnection erkenne ob LW getrennt wurde?
Moin alfold,
zu dem Verhalten habe ich mal eine Vermutung: Seit Windows 2000 werden Netzwerklaufwerke nach einer bestimmten Zeit automatisch getrennt (wenn ich mich recht entsinne, nach 15 Min.), wenn kein Zugriff erfolgt. Sobald ein Zugriff erfolgt, wird die Verbindung wieder hergestellt. Unter Windows 2000 konnte man das getrennte Laufwerk daran erkennen, dass es im Explorer rot durchgext war, in folgenden Versionen konnte man das nicht mehr erkennen. Vermutlich greift WNetGetConnection jetzt nicht wirklich auf das Laufwerk zu um nicht die Verbindung aufzubauen. Du könntest es ja mit einem regelmässigen Aufruf von FindFirst auf Laufwerksbuchstabe:\. versuchen und das Ergebnis auswerten. |
AW: WNetGetConnection erkenne ob LW getrennt wurde?
Moin:-D
Zitat:
Zitat:
Gruß alfold |
AW: WNetGetConnection erkenne ob LW getrennt wurde?
Hat schon jemand IsNetDrive getestet?
Ist zwar schon älter, aber solange es in SHELL.DLL vorhanden ist, kann man es auch nutzen. This function returns one of the following values. Return value - Description 0 - The specified drive is not a network drive. 1 - The specified drive is a network drive that is properly connected. 2 - The specified drive is a network drive that is disconnected or in an error state. Const External_Library = 'shell32'; function IsNetDrive(iDrive:Longint):Longint;StdCall; external External_library name 'IsNetDrive'; ![]() |
AW: WNetGetConnection erkenne ob LW getrennt wurde?
Moin:-D
@hathor Auch hier das gleiche es wird nur 0 oder 1 angezeigt! 0= Lw ist nicht gemappt bzw nicht vorhanden oder kein Netzlaufwerk. Selber raten was nun ist:? 1= es ist ein NetzLaufwerk und das wars. Ob Netzwerk vorhanden oder nicht! Gruß alfold |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 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