Der übliche Weg, eine Verbindung zu einem Netztwerkpfad unter einem anderen Benutzer zu erstellen ist eigentlich
WNetAddConnection2. Eine Lösung könnte in etwa so aussehen:
Delphi-Quellcode:
const
cLocalName = 'N:'; // oder ein anderer verfügbarer Buchstabe
var
data: TNetResource;
res: Cardinal;
begin
data.dwType := RESOURCETYPE_DISK;
data.lpLocalName := cLocalName ;
data.lpRemoteName := <Der Netzwerkpfad>;
data.lpProvider := '';
res := WNetAddConnection2(data, <Das Passwort>, <Der Username>, CONNECT_TEMPORARY);
if res = NOERROR then begin
try
<Mach was immer nötig ist>
finally
res := WNetCancelConnection2(cLocalName , 0, false);
end;
end
else begin
<Fehlerbehandlung>
end;
end;
Ich komme noch einmal auf diese Funktion zurück.
Das geht erst einmal, nur wird der User sehen, dass ein neues Laufwerk gemappt wurde. Kann man nicht eine Netzwerkressource in der Art "\\192.168.220.xxx\PfadNurFuerWissenende" nutzen, damit man nicht so leicht die Ressource findet?