如题。

解决方案 »

  1.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/ntlmapi2_18bz.asp
    NetUseAdd
      

  2.   

    使用WinNet函数,具体参考MSDNDWORD WNetAddConnection(
        LPTSTR lpRemoteName,
        LPTSTR lpPassword,
        LPTSTR lpLocalName
        );
     
    DWORD WNetAddConnection2(
        LPNETRESOURCE lpNetResource,
        LPTSTR lpPassword,
        LPTSTR lpUserID,
        DWORD dwFlags
        );
     
    DWORD WNetAddConnection3(
        HWND hwndOwner,
        LPNETRESOURCE lpNetResource,
        LPTSTR lpPassword,
        LPTSTR lpUserID,
        DWORD dwFlags
        );
     
      

  3.   

    用SHALL命令
    DOS:NET USE
      

  4.   

    debyssy : 有没有代码或实例??谢谢!
      

  5.   

    TO ALL:  这些函数是用来建立映射网络驱动器的吧。 这种方法我知道,
    但只是要进入文件夹读取文件(需要密码和用户),能否不建立映射网络驱动器。procedure TForm1.Button1Click(Sender : TObject);
    var
      NetSource : TNetResource;
    begin
      with NetSource do
      begin
        dwType := RESOURCETYPE_ANY;
        lpLocalName := ‘X:'; 
        // 将 远 程 资 源 映 射 到 此 驱 动 器
        lpRemoteName := ‘\\hqServer\sys'; 
        // 远 程 网 络 资 源
        lpProvider := ‘';  
        // 必 须 赋 值, 
          如 为 空 则 使 用lpRemoteName 的 值。
      end;
      WnetAddConnection2(NetSource,‘Password',‘Guest',
       // 用 户 名 为Guest, 口 令 为Password
      CONNECT_UPDATE_PROFILE);
       // 下 次 登 录 时 重 新 连 接
      // 此 时 在Windows 资 源 管 理 器 中 
        可 看 到 网 络 驱 动 器X:
      if MessageDlg(‘Are you sure to disconnect Drive ?',
        mtConfirmation, [mbYes, mbNo], 0) = mrYes 
      then      
        // 不 管 是 否 有 文 件 打 开,
          断 开 网 络 驱 动 器X:
     WNetCancelConnection2( ‘X:', CONNECT_UPDATE_
    PROFILE, True);  
    end;
    end;
      

  6.   

    DWORD adddrive=NO_ERROR;
            lpfilename=DBDataPath;
            if(DirectoryExists("X:"))//ShowMessage("1");
                adddrive=WNetCancelConnection("X:",true);
            adddrive=WNetAddConnection(DBDataPath,DBPassword,"X:");
            if(adddrive==NO_ERROR);//adddrive=WNetCancelConnection("X:",true);//MessageBox(NULL,"1","2",MB_OK);
    //        else{ MessageBox(NULL,"共享密码不对或者没有权限读写数据!!!!!!","主任值班系统",MB_OK);Application->Terminate();}
            else{ ShowMessage("共享密码不对或者没有权限读写数据!!!!!!");Application->Terminate();}//return;}
            lpfilename+="Fetalfil.dbf";
    //        if((fp=fopen(lpfilename.c_str(),"rb"))==NULL)
            if(!FileExists(lpfilename))
            {
                ShowMessage("!!!!!!!!!!!!!!!!\n\r找不到数据库文件或者没有权限访问。");
                Application->Terminate();
            }
      

  7.   

    我在D6中试过了,还是不行。我的一段映射驱动器的代码也有问题。 但不知道问题在哪里。 另WIN2000中共享到指定的用户,如何传用户和密码?procedure  TForm1.Button1Click(Sender  :  TObject);  
    var  
       NetSource  :  TNetResource;  
    begin  
       with  NetSource  do  
       begin  
           dwType  :=  RESOURCETYPE_ANY;  
           lpLocalName  :=  ‘X:';    
           //  将  远  程  资  源  映  射  到  此  驱  动  器  
           lpRemoteName  :=  ‘\\hqServer\sys';    
           //  远  程  网  络  资  源  
           lpProvider  :=  ‘';      
           //  必  须  赋  值,    
               如  为  空  则  使  用lpRemoteName  的  值。  
       end;  
       WnetAddConnection2(NetSource,‘Password',‘Guest',  
         //  用  户  名  为Guest,  口  令  为Password  
       CONNECT_UPDATE_PROFILE);  
         //  下  次  登  录  时  重  新  连  接  
       //  此  时  在Windows  资  源  管  理  器  中    
           可  看  到  网  络  驱  动  器X:  
       if  MessageDlg(‘Are  you  sure  to  disconnect  Drive  ?',  
         mtConfirmation,  [mbYes,  mbNo],  0)  =  mrYes    
       then              
           //  不  管  是  否  有  文  件  打  开,  
               断  开  网  络  驱  动  器X:  
     WNetCancelConnection2(  ‘X:',  CONNECT_UPDATE_  
    PROFILE,  True);      
    end;  
    end;
      

  8.   

    procedure  TForm1.Button1Click(Sender  :  TObject);  
    var  
       NetSource  :  TNetResource;  
    begin  
       with  NetSource  do  
       begin  
           dwType  :=  RESOURCETYPE_ANY;  
           lpLocalName  :=  ‘X:';    
           //  将  远  程  资  源  映  射  到  此  驱  动  器  
           lpRemoteName  :=  ‘\\hqServer\sys';    
           //  远  程  网  络  资  源  
           lpProvider  :=  ‘';      
           //  必  须  赋  值,    
               如  为  空  则  使  用lpRemoteName  的  值。  
       end;  
       WnetAddConnection2(NetSource,‘Password',‘Guest',  
         //  用  户  名  为Guest,  口  令  为Password  
       CONNECT_UPDATE_PROFILE);  
         //  下  次  登  录  时  重  新  连  接  
       //  此  时  在Windows  资  源  管  理  器  中    
           可  看  到  网  络  驱  动  器X:  
       if  MessageDlg(‘Are  you  sure  to  disconnect  Drive  ?',  
         mtConfirmation,  [mbYes,  mbNo],  0)  =  mrYes    
       then              
           //  不  管  是  否  有  文  件  打  开,  
               断  开  网  络  驱  动  器X:  
     WNetCancelConnection2(  ‘X:',  CONNECT_UPDATE_  
    PROFILE,  True);      
    end;  
    end;