Weis jemand wie man den Dialog "Netzlaufwerk verbinden als" aufruft. Folgender Fall. In meinem Programm soll ab und zu eine Verbindung zu einem Netzlaufwerk hergestellt werden. Da mit dem angemeldeten Benutzer keine Rechte vorhanden sind soll der Dialog Netzlaufwerk verbinden als aufgerufen werden. Danke für die Hilfe
Announcement
Collapse
No announcement yet.
Netzlaufwerk verbinden als...
Collapse
X
-
Hallo
wie man den Dialog selbst aufruft, kann ich dir nicht sagen, aber mit
den folgenden Funktionen kannst du dir den Dialog selbst erstellen:
function MapUserPwd(const NetName, LW, Pass, User: string): DWord;
var
BLw : array[0..3] of Char;
BNet : array[0..255] of Char;
BPwd : array[0..80] of Char;
BUser : array[0..80] of Char;
NetRes: TNetResourceA;
PUser : PChar;
PPwd : PChar;
begin
NetRes.dwScope:=RESOURCE_GLOBALNET;
NetRes.dwType:=RESOURCETYPE_ANY;
NetRes.dwDisplayType:=RESOURCEDISPLAYTYPE_SERVER;
NetRes.dwUsage:=RESOURCEUSAGE_CONNECTABLE;
NetRes.lpLocalName:=StrPCopy(BLw,LW);
NetRes.lpRemoteName:=StrPCopy(BNet,NetName);
NetRes.lpComment:=Nil;
NetRes.lpProvider:=Nil;
PPwd:=StrPCopy(BPwd,Pass);
PUser:=StrPCopy(BUser,User);
Result := WNetAddConnection2(NetRes,PPwd,PUser,0);
end;
function UnMap(const LW: string): DWord;
var
BLw : array[0..3] of Char;
begin
Result := WNetCancelConnection2(StrPCopy(BLw,LW),CONNECT_UPD ATE_PROFILE,FALSE);
end;
Habe das bis jetzt nur von NT zu NT getestet!
Gruß Andr
-
Hallo,
ich verwende die folgende function, um den Windowsdialog zum verbinden von Laufwerken. Welche Unit dazu benötigt wird, kann ich Dir momentan nicht sagen, da der Aufruf in einem recht umfangreichen Programm enthalten ist:
WNetConnectionDialog(Handle,RESOURCETYPE_DISK) ;
für den Disconnect habe ich diesen Aufruf gefunden
if WNetCancelConnection2( pChar( sDrive ),0,TRUE) <> NO_ERROR then
Raise Exception.create('Error disconnecting map drive');
//of course there are also some other constants to check why the err
hierzu muß in sDrive :String; die richtige Lauswerksbezeichung stehen,
z.B. sDrive := 'H:
Comment
Comment