procedure TForm1.Button1Click(Sender: TObject);
var NetR :NETRESOURCE;ErrInfo : Longint; begin NetR.dwScope := RESOURCE_GLOBALNET; NetR.dwType := RESOURCETYPE_DISK; NetR.dwDisplayType := RESOURCEDISPLAYTYPE_SHARE; NetR.dwUsage := RESOURCEUSAGE_CONNECTABLE; NetR.lpLocalName := 'j:'; NetR.lpRemoteName := '\\200.0.4.95\aaa';ErrInfo := WNetAddConnection2(NetR, '', '', CONNECT_UPDATE_PROFILE); If ErrInfo = NO_ERROR Thenmessagebox(0,'Net connection successful!','',0) Else messagebox(0,'ERROR: ','',0); end;procedure TForm1.Button2Click(Sender: TObject);
begin
  addsharedriver('X:','\\200.0.4.95\a','','');
end;
function addsharedriver(localname,remotename,username,password:string):boolean;
var
  NetSource : TNetResource;
begin
  with NetSource do
  begin
    dwType := RESOURCETYPE_disk;
    lpLocalName :=pchar(localname);
    lpRemoteName :=pchar(remotename);
    lpProvider :='';
  end;
  result:=WnetAddConnection2(NetSource,pchar(password),pchar(username),CONNECT_UPDATE_PROFILE)=NO_ERROR;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
  lpnr:tnetresource;
  i:integer;
begin
 lpnr.dwScope:=2;
 lpnr.dwType:=0;
 lpnr.dwDisplayType:=2;
 lpnr.dwUsage:=10;
 lpnr.lpRemoteName:='\\200.0.4.95\aaa';
 lpnr.lpLocalName:='z:';
 lpnr.lpComment:=nil;
 lpnr.lpProvider:='';
 WNetAddConnection2(lpnr,'','',CONNECT_UPDATE_PROFILE);
 end;这些是收集来的代码,可惜一个都不好用,请问这是为什么??
难道网上所有的代码都是错误的?〉?

解决方案 »

  1.   

    只看了你第一段程序:2个问题
    1.在begin后加:
      fillchar( NetR,sizeof(NetR),0);
    2.WNetAddConnection2(NetR, '', '', CONNECT_UPDATE_PROFILE); 
    用户名不能为空,如:
    WNetAddConnection2(NetR, '', 'Administrator', CONNECT_UPDATE_PROFILE); 
    另外,你必须有访问其它机的权限(其它机必须开共享,且你必须有它的用户名密码)
      

  2.   

    没看你代码,给你段代码:
    var
      NetSource : TNetResource;
    begin
      with NetSource do
      begin
        dwType := RESOURCETYPE_ANY;
        lpLocalName := 'Z:'; //网络驱动器编号
        lpRemoteName := '\\192.168.1.8\Share'; //地址以及共享路径
        lpProvider := nil;
      end;
      WnetAddConnection2(NetSource, '密码', '用户名', CONNECT_UPDATE_PROFILE);
    //  WNetCancelConnection2('Z:', CONNECT_UPDATE_PROFILE, True); //断开连接
    end;
    --
    http://community.csdn.net/Expert/topic/4787/4787932.xml?temp=.310528
      

  3.   

    我没有用户名那用什么??
    我用win程序映射的时候,没有属于用户名和密码阿
      

  4.   

    如果当前登录也没有用户名(实际上,除win9x系统外,系统登录总有用户名的,可在控制面板中查看),说明对方是开gust账户的,这样你可以用任意的用户名/口令进入,一般设用户名为administrator或guest,口令为空