4
我在使用API方法WNetAddConnection2在Windows XP下映射网络驱动器(WebDAV)时出现问题。在Windows 7下,它就像一个魅力。我的代码:映射网络驱动器(WebDAV)不适用于Windows XP
function ConnectDrive(Drive: string; Folder: string;
Username: string; Password: string; RestoreAtLogon: Boolean): HRESULT;
var
NetResource: TNetResource;
dwFlags: DWORD;
begin
with NetResource do
begin
dwType := RESOURCETYPE_DISK;
lpLocalName := PChar(Drive);
lpRemoteName := PChar(Folder);
lpProvider := nil;
end;
if (RestoreAtLogon) then
dwFlags := CONNECT_UPDATE_PROFILE
else
dwFlags := 0;
Result := WNetAddConnection2(NetResource, PChar(Password),
PChar(Username), dwFlags);
end;
每次我尝试到Windows连接告诉我:“网络名称无法找到”或者“网络路径找不到”
正如我之前所说的,在Windows 7下有没问题。
如果我使用商业工具,如NetDrive的,这个程序有没有问题,安装在XP,Vista或Windows的驱动器7
有没有人的想法?
在此先感谢
我在Windows XP(家庭版和专业版)机器上测试了您的代码,并且它将网络驱动器映射为它应该的状态(该函数返回0)。你能举一个例子说明你如何调用这个函数吗? – Chris
我以这种方式调用函数: hr:= ConnectDrive(“M:”,“http:// myserver/WebDAV”, “testuser1”,“password”,false); –
尝试用''\\ myserver \ WebDAV''代替(如果路径是本地的) – Chris