小弟用API对局域网中的服务器目录做本地映射,代码如下:
procedure TForm1.Button1Click(Sender : TObject);
var
  NetSource : TNetResource;
  ConnectResult: DWORD;
  ErrBuf: PChar;
begin
  with NetSource do
  begin
    dwType := RESOURCETYPE_ANY;
    lpLocalName := PChar('X:');
    // 将 远 程 资 源 映 射 到 此 驱 动 器
    lpRemoteName := PChar('\\MSG-SERVER\platformLog');
    // 远 程 网 络 资 源
    lpProvider := '';
    // 必 须 赋 值, 如 为 空 则 使 用lpRemoteName 的 值。
  end;  ConnectResult := WnetAddConnection2(NetSource,PChar('serviceJK'),
                             PChar('bxlJK'),CONNECT_UPDATE_PROFILE);
  if ConnectResult = NO_Error then
     MessageDlg('映射' + NetSource.lpLocalName + '机器成功!', mtConfirmation, [mbYes, mbNo], 0)
  else
    begin
      FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM,
           nil, GetLastError, LANG_USER_DEFAULT, @ErrBuf, 0, nil);
     //MessageDlg(ConnectResult , mtConfirmation, [mbYes], 0);
    end;
end;这段代码映射我本机时是成功的。但映射远程机器则不行。第一次连接时会返回错误码:1326(即:Logon failure: unknown user name or bad password.);关闭后第二次再连接会返回错误码:1219(即:The credentials supplied conflict with an existing set of credentials.)
此用户名与密码并无错误,在网络邻居中用此用户名及密码可以直觉访问服务器。