![]() |
Zugriff auf Netzwerkpfad per User-Anmeldung
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich im Programmablauf im Netzwerk auf z.B. "\\EW4\D" zugreifen will (also das Laufwerk D, dass dort freigegeben ist), passiert nichts, wenn man noch nicht die Anmeldeinformationen eingegeben hat.
(siehe anliegenden Screenshot) Wenn ich den Pfad im Windows-Explorer eingebe, popt das gezeigte Fenster automatisch auf. Wie kann ich das selber programmgesteuert erreichen und wie merke ich, wann das notwendig ist (im Vergleich etwa zu einem ungültigen eingegebenen Pfad)? |
AW: Zugriff auf Netzwerkpfad per User-Anmeldung
Das könnte mit WNetUseConnection und dem Flag CONNECT_INTERACTIVE funktionieren. Das sollte fragen, wenn die Default-Werte keinen Zugriff erlauben.
|
AW: Zugriff auf Netzwerkpfad per User-Anmeldung
Danke Uwe, das waren die richtigen Stichworte.
Hab es jetzt so gelöst:
Delphi-Quellcode:
Zwar muss ich einige Sekunden warten, bis "DirectoryExists" aufgibt, aber das ist Ok.
function ConnectWithNetPath (netpath: string): boolean;
var BufferSize, ResultFlag: DWORD; NetResource: TNetResource; begin Result := True; if not directoryexists (netpath) then begin NetResource.dwType := RESOURCETYPE_DISK; NetResource.lpLocalName := nil; NetResource.lpRemoteName := PChar (netpath); NetResource.lpProvider := nil; Result := WNetUseConnection(Application.MainForm.handle, NetResource, nil, nil, CONNECT_INTERACTIVE or CONNECT_PROMPT, nil, BufferSize, ResultFlag) = NO_ERROR; end; end; procedure TForm23.bnConncetClick(Sender: TObject); begin if ConnectWithNetPath (edNetpath.Text) then begin // do whatever needed end; end; |
AW: Zugriff auf Netzwerkpfad per User-Anmeldung
Wenn du das CONNECT_PROMPT weglässt, dann kommt die Abfrage nur wenn notwendig. Dann solltest du dir das DirectoryExists sparen können.
|
AW: Zugriff auf Netzwerkpfad per User-Anmeldung
Warum überaupt erst das DirExists? [edit] (und warum war Uwe grade eben noch nicht zu sehn?) [/edit]
Mach einfach direkt ein WNetUseConnection und wenn da ERROR_ALREADY_ASSIGNED zurück kommt, dann existierte es bereits :stupid: |
AW: Zugriff auf Netzwerkpfad per User-Anmeldung
OK, danke für die Hinweis, dann werde ich das noch etwas optimieren...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 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-2025 by Thomas Breitkreuz