测试环境,DELPHI XE2版本,系统WIN10
建立过程
procedure TForm1.d(const driver, remote, pass, name: string);
var netsource:TNetResource;
begin
with netsource do
begin
dwType:=RESOURCETYPE_ANY;
lpLocalName:=PwideChar(driver);
lpRemoteName:=PWideChar(remote);
lpProvider:='';
end;
WNetAddConnection2(netsource,PWideChar(pass),PWideChar(name),CONNECT_UPDATE_PROFILE);
end;
调用过程
procedure TForm1.Button5Click(Sender: TObject);
begin
d('x:','\\172.16.0.20\pro,'123456','cd\10001') ;
end;driver为映射驱动器盘符 ,remote为网络映射路径,pass为密码,name为域账户
运行之后,始终映射不出来,用DOS 的net use可以,但是现在要用这个函数来实现,有大神给点建议。
建立过程
procedure TForm1.d(const driver, remote, pass, name: string);
var netsource:TNetResource;
begin
with netsource do
begin
dwType:=RESOURCETYPE_ANY;
lpLocalName:=PwideChar(driver);
lpRemoteName:=PWideChar(remote);
lpProvider:='';
end;
WNetAddConnection2(netsource,PWideChar(pass),PWideChar(name),CONNECT_UPDATE_PROFILE);
end;
调用过程
procedure TForm1.Button5Click(Sender: TObject);
begin
d('x:','\\172.16.0.20\pro,'123456','cd\10001') ;
end;driver为映射驱动器盘符 ,remote为网络映射路径,pass为密码,name为域账户
运行之后,始终映射不出来,用DOS 的net use可以,但是现在要用这个函数来实现,有大神给点建议。
var
FNetSource: TNetResource;
begin
FillChar(FNetSource, SizeOf(FNetSource), 0);
with FNetSource do
begin
dwScope := RESOURCE_REMEMBERED or RESOURCETYPE_DISK;
dwType := RESOURCETYPE_ANY;
lpLocalName := PChar(FDriver);
lpRemoteName := PChar(FRemote);
lpProvider := nil;
end;
if WNetAddConnection2(FNetSource, PChar(FPass), PChar(FUserName),
CONNECT_UPDATE_PROFILE) <> 0 then
ShowMessage(SysErrorMessage(GetLastError));
end;