Einzelnen Beitrag anzeigen

ringli

Registriert seit: 7. Okt 2004
504 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: NetworkDrive Disconnect *speziel*

  Alt 25. Apr 2008, 13:38
Das Ganze mal als komplette Funktion verpackt. Diese Funktion gibt den Pfad eines angegebenen Netzlaufwerkes zurück. Ist dies nicht möglich wird einfach der angegebene Laufwerksbuchstabe zurückgegeben. Musst du halt ein wenig auf deine Bedürfnisse anpassen.

Delphi-Quellcode:
function NetDriveQuery (localDrive : String) : String;
var
  lpLocalName : PChar;
  lpRemoteName : PChar;
  FuncResult : DWORD;
  lpnLength : Cardinal;
begin
  // Speicher für die Strings allozieren!
  lpLocalName := AllocMem(MAX_PATH + 1);
  lpRemoteName := AllocMem(MAX_PATH + 1);
  // String in PString kopieren
  StrPCopy (lpLocalName, localDrive);
  lpnLength := MAX_PATH;
  FuncResult := WNetGetConnection(lpLocalName, lpRemoteName, lpnLength);
  if FuncResult <> NO_ERROR then
    begin
      Result := lpLocalName;
    end
  else
    begin
      Result := lpRemoteName;
    end;
  // aufräumen!
  FreeMem(lpRemoteName);
  FreeMem(lpLocalName);
end;
  Mit Zitat antworten Zitat