源代码如下:
//映射网络硬盘
with NetSource do
begin
dwScope := RESOURCE_GLOBALNET;
dwType := RESOURCETYPE_DISK;
dwDisplayType := RESOURCEDISPLAYTYPE_SHARE;
dwUsage := RESOURCEUSAGE_CONNECTABLE;
dwType := RESOURCETYPE_ANY;
lpLocalName := 'Z:';
// 将 远 程 资 源 映 射 到 此 驱 动 器
lpRemoteName := PChar('\\192.168.2.200\HeartLog');
// 远 程 网 络 资 源
lpProvider := nil;
// 必 须 赋 值, 如 为 空 则 使 用lpRemoteName 的 值。
end; ConnectResult := WnetAddConnection2(NetSource,PChar('Monitor'),
PChar('bxl2008'),CONNECT_UPDATE_PROFILE); if ConnectResult = NO_Error then
begin
StatusBar.SimpleText := '成功映射远程路径到本地目录Z:';
RESULT := TRUE;
end
else
begin
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM,
nil, GetLastError, LANG_USER_DEFAULT, @ErrBuf, 0, nil);
StatusBar.SimpleText := '映射远程路径操作失败:' + ErrBuf;
RESULT := FALSE;
end;服务器和客户端运行环境都是WIN2000,
报错:不存在的用户名或者密码错误。但我仔细检查过了,确定用户名和密码是可以通过在开始菜单的运行里,用\\192.168.2.200的方式登录的。而且,一样的代码,映射另一台WIN2000的机器(非服务器)也是正常的。就是无法用代码登录上服务器。服务器上装有RemoteAnyWhere,这个有影响吗?
//映射网络硬盘
with NetSource do
begin
dwScope := RESOURCE_GLOBALNET;
dwType := RESOURCETYPE_DISK;
dwDisplayType := RESOURCEDISPLAYTYPE_SHARE;
dwUsage := RESOURCEUSAGE_CONNECTABLE;
dwType := RESOURCETYPE_ANY;
lpLocalName := 'Z:';
// 将 远 程 资 源 映 射 到 此 驱 动 器
lpRemoteName := PChar('\\192.168.2.200\HeartLog');
// 远 程 网 络 资 源
lpProvider := nil;
// 必 须 赋 值, 如 为 空 则 使 用lpRemoteName 的 值。
end; ConnectResult := WnetAddConnection2(NetSource,PChar('Monitor'),
PChar('bxl2008'),CONNECT_UPDATE_PROFILE); if ConnectResult = NO_Error then
begin
StatusBar.SimpleText := '成功映射远程路径到本地目录Z:';
RESULT := TRUE;
end
else
begin
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM,
nil, GetLastError, LANG_USER_DEFAULT, @ErrBuf, 0, nil);
StatusBar.SimpleText := '映射远程路径操作失败:' + ErrBuf;
RESULT := FALSE;
end;服务器和客户端运行环境都是WIN2000,
报错:不存在的用户名或者密码错误。但我仔细检查过了,确定用户名和密码是可以通过在开始菜单的运行里,用\\192.168.2.200的方式登录的。而且,一样的代码,映射另一台WIN2000的机器(非服务器)也是正常的。就是无法用代码登录上服务器。服务器上装有RemoteAnyWhere,这个有影响吗?
再检查一下细节
看看密码大小写等等