收集的资料<br>WNetAddConnection('//192.168.0.60/chan','','192.168.0.20');<br> copyfile(PChar(filepath+'chan/'+sendfile),PChar('//192.168.0.60/chan/'+sendfile),false);<br> label1.Caption:='与监控端连接成功!';<br> button1.Caption:='关闭';<br><br><br>var NRW: TNetResource;<br>begin<br> with NRW do<br> begin<br> dwType:= RESOURCETYPE_ANY;<br> lpLocalName:=PChar(LocalDriver); //映射的网络驱动器,取自己最高盘符后面一个就可以了。<br> lpRemoteName:=PChar(ShareName); //共享文件夹名,例如 //hello/Share<br> lpProvider:='';<br> end;<br> result := WNetAddConnection2(NRW, PChar(Password), PChar(UserName), CONNECT_UPDATE_PROFILE);<br>end; <br><br><br>我现在通过WinExec('net use //server/$dir$ password',0) 基本上将问题解决了!!<br>谢谢大家帮忙!!<br><br>查一查NetUserAdd等相关API吧.<br>WNetAddConnection 重定向本地设备网络资源 <br>WNetAddConnection2 重定向本地设备网络资源 <br>WNetCancelConnection 断开网络连接<br>WNetCancelConnection2 断开网络连接<br>WNetCloseEnum 结束网络资源列表<br>WNetConnectionDialog 开始网络连接对话框<br>WNetDisconnectDialog 断开网络对话框<br>WNetEnumResource 继续列表网络资源<br>WNetGetConnection 获取网络资源名<br>WNetGetLastError 返回网络函数最近错误<br>WNetGetUniversalName<br>WNetGetUser 获取当前网络用户名<br>WNetOpenEnum 列出网络资源<br><br><br>WinExec(<br> PChar(Format('net use//%s/ipc$ "%s" /user: "%s" ',<br> [Edtserver.Text,<br> EdtPassword.Text,<br> EdtUserName.Text])),<br> 0<br>  
;<br><br>可是我通过WNetAddConnection(pchar(path),'password','z:')<br>登陆网络后,该客户端需要有权限访问该文件夹,<br>所以即使加上$,在该客户的资源管理器中也可以访问这个文件夹!!<br><br>建立映射网络驱动器<br><br>procedure TForm1.Button1Click(Sender: Tobject);<br><br>var NetR :NETRESOURCE;ErrInfo : Longint;<br><br>begin<br><br>NetR.dwScope := RESOURCE_GLOBALNET;<br><br>NetR.dwType := RESOURCETYPE_DISK;<br><br>NetR.dwDisplayType := RESOURCEDISPLAYTYPE_SHARE;<br><br>NetR.dwUsage := RESOURCEUSAGE_CONNECTABLE;<br><br>NetR.lpLocalName := 'j:';<br><br>NetR.lpRemoteName := '//Lifang/c';<br><br>ErrInfo := WNetAddConnection2(NetR, '', '', CONNECT_UPDATE_PROFILE);<br><br>If ErrInfo = NO_ERROR Then<br><br>messagebox(0,'Net connection successful!','',0)<br><br>Else<br><br>messagebox(0,'ERROR: ','',0);<br><br>end;<br><br>断开映射网络驱动器<br><br>procedure TForm1.Button2Click(Sender: Tobject);<br><br>var ErrInfo : Longint;<br><br>strLocalName : pchar;<br><br>begin<br><br>strLocalName:='j:';<br><br>ErrInfo := WNetCancelConnection2(strLocalName, CONNECT_UPDATE_PROFILE, False);<br><br>If ErrInfo = NO_ERROR Then<br><br>messagebox(0,'Net disconnection successful!','',0)<br><br>Else<br><br>messagebox(0,'ERROR','',0);<br><br>end;