Announcement

Collapse
No announcement yet.

Netzlaufwerk verbinden als...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Netzlaufwerk verbinden als...

    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

  • #2
    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

    Comment


    • #3
      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


      • #4
        So geht's am einfachsten, zeigt einfach nur die Windowsdialoge an:

        Für Connect:
        WNetConnectionDialog(handle,RESOURCETYPE_DISK);

        Für Disconnect:
        WNetDisconnectDialog(handle,RESOURCETYPE_DISK)

        Comment

        Working...
        X