![]() |
MachineName von einem gemapten Laufwerk abfragen
Hallo Zusammen,
hat jemand eine Idee wie der MachineName eines gemapten Laufwerks abzufragen ist? Als Beispiel gebe ich am PC1 C: frei mit dem Namen "PC1_C". Gahe danach zum zweiten PC2, suchte über das Netzwerk den PC1 und die Freigabe PC1_C und erzeuge ein neues Netzlaufwerk Y welches auf PC1_C zeigt. Der Explorer zeigt mir jetzt an PC1_C auf "PC1" Y: Die Frage ist jetzt, wie finde ich mit Delphi heraus das Y: überhaupt ein Netzlaufwerk ist und den MachineName (PC1) der die Freige PC1_C hostet. Gruß Kostas |
Re: MachineName von einem gemapten Laufwerk abfragen
hoi,
sowas ähnliches hatte wir heute schon ... mein vorschlag würde auch hier über WMI gehen mit :
SQL-Code:
erhälst du als ergebnis alle laufwerke die gemapped sind inkl. LW-Buchstaben und netzwerkpfad
select caption,providername from Win32_LogicalDisk where drivetype=4
Bsp: Caption: Y - ProviderName: \\PC1\PC1_C ... ... für den rechner namen einfach den providernamen auseinandernehmen ... cya |
Re: MachineName von einem gemapten Laufwerk abfragen
Hilft dir diese
![]() |
Re: MachineName von einem gemapten Laufwerk abfragen
Hallo Kostas,
den Typ des Laufwerks kannst du mit GetDriveType('Y:\') herausfinden. EDIT: Den Servernamen kannst du wahrscheinlich auch über irgendwelche Network API Funktionen ermitteln, aber es geht auch mit ein paar String-Operationen:
Delphi-Quellcode:
Freundliche Grüße
function ExtractServerName(const unc: string): string;
begin if AnsiStartsText('\\', unc) then Result := ExtractFileName(ExtractFileDir((ExtractFileDrive(unc)))) else Result := ''; end; // serverName := ExtractServerName(ExpandUNCFileName('Y:\')); |
Re: MachineName von einem gemapten Laufwerk abfragen
Hallo Zusammen,
hey meine Frage war ja noch warm und schon habe ich die Antwort. :-) ExpandUNCFileName habe ich gesucht. So funkt es einwandfrei.
Delphi-Quellcode:
Ein Herzliches Dankeschön an alle.
{-----------------------------------------------------}
{}function GetRemoteMachineName(UNCPath:String):string; {-----------------------------------------------------} var i:integer; begin result := ''; UNCPath := ExpandUNCFileName(UNCPath); for i:=3 to length(UNCPath) do begin if copy(UNCPath,i,1)='\' then begin result := copy(UNCPath,3,i-3); break; end;{if} end; end;{GetRemoteMachineName} Gruß Kostas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 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 by Thomas Breitkreuz