Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Volumennamen eines Mapped Network Drives herausfinden (https://www.delphipraxis.net/196106-volumennamen-eines-mapped-network-drives-herausfinden.html)

Shadowwalker 23. Apr 2018 17:27

Volumennamen eines Mapped Network Drives herausfinden
 
Ich zerbreche mir seit Tagen den Kopf darüber wie man den Volumennamen eines Mapped Network Drives zurückbekommt.
Gibt es eine geeignete Windowsfunktion mit welcher es möglich ist anhand von \\NAS\files_shadow den Volumennamen zu erhalten?
Man kann auch einfach mit Pos und Copy den hinteren Teil rauskopieren, aber das ist nicht der richtige Weg denke ich.

timog 23. Apr 2018 17:58

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Meinst Du sowas
Delphi-Quellcode:
ExtractFileName(ExcludeTrailingPathDelimiter('\\NAS\files_shadow\'))
(Missbrauch des Filenames)

KodeZwerg 23. Apr 2018 18:25

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Einer dieser Befehle kann dabei helfen um an Laufwerk Information zu gelangen.
GetLogicalDriveStrings, GetLogicalDrives, GetDriveType, GetVolumeInformation, und DefineDosDevice.
Ich hoffe das es Dir mit Deinem Problem weiterhilft.

Shadowwalker 23. Apr 2018 18:49

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Leider bekomme ich es nicht hin den an mein Laufwerk verknüpften Buchstaben zu bekommen wenn die Eingabe \\NAS\files_shadow ist.

timog 23. Apr 2018 18:54

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Hatte Dich wohl falsch verstanden: Du hast die Freigabe \\NAS\files_shadow\ der auf Laufwerk X: gemappt ist. Nun möchtest Du wissen, auf welchen UNC-Pfad Laufwerk X: gemappt ist?

Shadowwalker 23. Apr 2018 18:56

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Genau umgekehrt.

Für den von dir genannten Weg habe ich schon eine Lösung, die tatsächlich auch GetLogicalDriveStrings und Konsorten nutzt.
Andersherum, also von \\NAS\files_shadow (oder einem Pfad im Allgemeinen) zu X, Y oder welcher Buchstabe auch immer gemappt ist, dafür habe ich keine Lösung.

KodeZwerg 23. Apr 2018 19:02

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Zeige doch mal den Code Ausschnitt wie/wo Du "\\NAS\files_shadow\" gesetzt wird/erhalten hast.
Zeige doch mal den Code Ausschnitt wie/wo Du Zugriffe darauf startest.

Shadowwalker 23. Apr 2018 19:04

AW: Volumennamen eines Mapped Network Drives herausfinden
 
\\NAS\files_shadow steht fest im Code drin als
Delphi-Quellcode:
const NAS_Laufwerk: string = '\\NAS\files_shadow';
Zugriffe habe ich gerade noch keine da drauf, weil ich nicht an den Laufwerksbuchstaben komme (rein theoretisch erst einmal).

timog 23. Apr 2018 19:15

AW: Volumennamen eines Mapped Network Drives herausfinden
 
Vielleicht so: Lauf alle gemappten Laufwerke mit WNetGetConnection durch, und schau, ob es einen oder mehrere Treffer gibt:

Delphi-Quellcode:
var
  LDrive: Char;
  LPathRemote: array[0..MAX_PATH] of Char;
  LPathLength: DWord;
begin
  LPathLength:=MAX_PATH;
  for LDrive:='A' to 'Z' do begin
    if WNetGetConnection(PChar(''+LDrive+':'), LPathRemote, LPathLength) = NO_ERROR then ShowMessage(LPathRemote);
  end;
Anstelle des ShowMessage dann die Überprüfung auf = NAS_Laufwerk einbauen.

KodeZwerg 23. Apr 2018 19:25

AW: Volumennamen eines Mapped Network Drives herausfinden
 
ExpandUNCFileName das sollte Dein Problem lösen hoffe ich.
edit
Neee. Tut mir leid. Der macht genau das Gegenteil, sorry!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz