Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Lokaler Pfad oder Netzwerk-Pfad - wie könnte man das ermitteln? (https://www.delphipraxis.net/174738-lokaler-pfad-oder-netzwerk-pfad-wie-koennte-man-das-ermitteln.html)

Piro 7. Mai 2013 11:44

Lokaler Pfad oder Netzwerk-Pfad - wie könnte man das ermitteln?
 
Schönen guten Tag zusammen,

ich möchte gerne das meine Anwendung immer lokal ausgeführt wird (soll heißen, immer auf einer lokalen Partition des Computers) und nicht im Netzwerk (Firmennetzwerk).

UNC Pfade beginnen ja immer mit "\\", die könnte ich abfragen und dann einen Hinweis ausgeben. Bloß wenn ein Benutzer, den Pfad als Netzlaufwerk verbunden hat, hat der Pfad einen Buchstaben und beginnt nicht mehr mit "\\".

Gibt es eine Methode, die mir einen Laufwerkstyp zurück gibt mit dem ich arbeiten könnte?

Vielen Dank im Voraus.

Sven

Piro 7. Mai 2013 11:48

AW: Lokaler Pfad oder Netzwerk-Pfad - wie könnte man das ermitteln?
 
Ich habe etwas brauchbares gefunden.
WMI unter Verwendung von Win32_LogicalDisk und da den Wert DriveType.

Gibt es auch eine Methode ohne WMI?

Schönen Tag noch.
Sven

sh17 7. Mai 2013 11:56

AW: Lokaler Pfad oder Netzwerk-Pfad - wie könnte man das ermitteln?
 
Ich nutze das

Delphi-Quellcode:
class function TLclFileUtils.IsNetworkFile(const _Filename: String): Boolean;
var
  Size: LongWord;
  Dummy: array[0..1023] of Byte;
begin
  Size := SizeOf(Dummy);
  Result := WNetGetUniversalName(PWideChar(_Filename), UNIVERSAL_NAME_INFO_LEVEL, @Dummy, Size) = NO_ERROR;
end;

DeddyH 7. Mai 2013 12:20

AW: Lokaler Pfad oder Netzwerk-Pfad - wie könnte man das ermitteln?
 
Ich hätte spontan GetDriveType genommen und auf DRIVE_REMOTE geprüft.

Bummi 7. Mai 2013 13:48

AW: Lokaler Pfad oder Netzwerk-Pfad - wie könnte man das ermitteln?
 
Delphi-Quellcode:
Function IsNetFile(const fn:String):Boolean;
begin
  Result := ExpandUncFileName(fn) <> fn;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.

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