Entwickler-Ecke
Windows API - Feststellen ob Datei lokal oder im Netzwerk
mandras - So 18.03.12 01:44
Titel: Feststellen ob Datei lokal oder im Netzwerk
ich habe in Erinnerung daß eine Windows-API-Funktion existiert mit der man feststellen kann ob eine Datei, gegeben durch Pfad+Namen, lokal oder im Netzwerk ist.
Leider ist mir entfallen wie diese Funtion heißt. Kann mir diesbzgl. jemand weiterhelfen?
lmgtfy habe ich schon probiert, also bitte keine Hinweise in dieser Art. Passende Suchbegriffe wären natürlich willkommen.
Danke im Voraus,
Andreas
bummi - So 18.03.12 01:54
ExpandUNCFilename?
mandras - So 18.03.12 01:58
Das würde wenn ich es richtig verstanden habe zu folgendem führen:
Sobald ExpandUNCFilename etwas mit "\\" am Anfang zurückliefert ist klar daß es ein Netzwerk-share ist
bummi - So 18.03.12 02:06
ja, suchst Du etwas anderes?
jaenicke - So 18.03.12 03:36
Ich würde es besser direkt abfragen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function IsNetworkFile(const AFilename: string): Boolean; var Size: LongWord; Dummy: array[0..1023] of Byte; begin Size := SizeOf(Dummy); Result := WNetGetUniversalName(PChar(AFilename), UNIVERSAL_NAME_INFO_LEVEL, @Dummy, Size) = NO_ERROR; end; |
// EDIT: Ja, = statt <>
mandras - So 18.03.12 14:56
Danke bummi, jaenicke!
jaenicke, es klappt wenn ich statt <> ein = verwende.
Wobei ich vorher noch prüfen muß ob die angegebene Datei überhaupt existert da die WNetGetUniversalName keinen Fehler meldet solange nur die anfänglichen Pfadangaben korrekt sind.
Das konkrete Ergebnis meiner Arbeiten werde ich unter OpenSource Units einstellen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!