Habe gerade festgestellt, daß NetUseAdd nicht in der Standard Delphi Windows
API vorhanden ist. Aber diese Wrapper sollten den gleichen Zweck erfüllen und benötigen lediglich die Windows
Unit.
Delphi-Quellcode:
function NetUseAdd(const LocalName, RemoteName, UserName, Password: string; var AccessName: string): DWord;
var
netResource: TNetResource;
dwResult, dwBufSize, dwFlags: DWORD;
hRes: DWORD;
buf: array[0..1024] of Char;
begin
dwFlags := CONNECT_REDIRECT;
ZeroMemory(@netResource, sizeof(TNetResource));
with netResource do begin
dwType := RESOURCETYPE_DISK;
lpLocalName := PChar(LocalName);
lpRemoteName := PChar(RemoteName);
lpProvider := nil;
end;
dwBufSize := Sizeof(buf);
result := WNetUseConnection(0, netResource, PChar(UserName), PChar(Password), dwFlags, buf, dwBufSize, dwResult);
if hRes = NO_ERROR then
AccessName := buf;
end;
function NetUseDelete(const LocalName: string): Boolean;
var
hRes: DWORD;
begin
hRes := WNetCancelConnection2(PChar(LocalName), CONNECT_UPDATE_PROFILE, true);
result := (hres = NO_ERROR);
end;
Bei NetUseAdd kann LocalName leer bleiben, dann wird automatisch ein freier Laufwerksbuchstabe vergeben. Bitte die gemappten Laufwerke immer wieder mit NetUseDelete freigeben, da sonst irgendwann keine Laufwerksbuchstaben mehr frei sind.
Wenn nicht benötigt können Username und Password auch leer bleiben.