标题:如何映射带有用户名和密码的网络驱动器
只看楼主
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
结帖率:87.5%
已结贴  问题点数:20 回复次数:11 
如何映射带有用户名和密码的网络驱动器
请各位同仁指教,谢谢!
搜索更多相关主题的帖子: 映射 用户名 密码 网络 驱动 
2018-04-20 14:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
局域网的示例:
DECLARE LONG StrDup                IN Shlwapi STRING@
DECLARE LONG WNetAddConnection2    IN Mpr.dll STRING@, STRING@, STRING@, LONG
DECLARE LONG WNetCancelConnection2 IN Mpr.dll STRING@, LONG, LONG

IF _NetConnect("", "\\192.168.0.250\Test$", "UserName", "PassWord")
    USE \\192.168.0.250\Test$\temp.dbf
    BROWSE
    USE
    WNetCancelConnection2("\\192.168.0.250\Test$", 0, 1)
ENDIF


**
** 连接局域网共享文件夹
** szLocalName ... 影射到本地设备,如 X:,为空时不映射为盘符,空连接。
** szRemoteName .. 连接的远程设备,如 \\server\共享文件夹$
**
FUNCTION _NetConnect(szLocalName, szRemoteName, szUserName, szPassWord)
    LOCAL stNR, ddRet, szMsg
   
    stNR = REPLICATE(0h00, 4);
         + BINTOC(1,  "4RS");
         + REPLICATE(0h00, 8);
         + BINTOC(StrDup(@szLocalName),  "4RS");
         + BINTOC(StrDup(@szRemoteName), "4RS");
         + REPLICATE(0h00, 8)

    ddRet = WNetAddConnection2(@stNR, @szPassWord, @szUserName, 1)
   
    IF ddRet == 1219    && 已经有连接,断开再连接。
        WNetCancelConnection2(@szRemoteName, 0, 1)
        ddRet = WNetAddConnection2(@stNR, @szPassWord, @szUserName, 1)
    ENDIF

    IF ddRet != 0
        szMsg = ICASE(ddRet == 5,    "找不到 "     + szRemoteName + " 设备",;
                      ddRet == 85,   "本地设备 "   + szLocalName  + " 已经连接",;
                      ddRet == 66,   "本地设备 "   + szLocalName  + " 类型不匹配",;
                      ddRet == 1200, "指定的设备 " + szLocalName  + " 名称无效",;
                      ddRet == 67,   "找不到 "     + szRemoteName + " 网络名称",;
                      ddRet == 1206, "调用WNetAddConnection2()的配置文件格式不正确",;
                      ddRet == 1204, "网络设备 "   + szRemoteName + " 名称无效",;
                      ddRet == 2202, "网络设备 "   + szUserName   + " 用户名无效",;
                      ddRet == 170,  "网络忙,请重试",;
                      ddRet == 1223, "连接被取消",;
                      ddRet == 1205, "调用WNetAddConnection2()无法打开用户配置文件",;
                      ddRet == 1202, "本地设备 "   + szLocalName  + " 与其他网络资源已经连接",;
                      ddRet == 1208, "发生网络错误,可用WNetGetLastError()函数获得错误信息。",;
                      ddRet == 487,  "资源结构的lpLocalName成员未指定 " + szLocalName,;
                      ddRet == 87,   "资源结构的dwtype成员参数不正确",;
                      ddRet == 86,   "用户名或密码无效",;
                      ddRet == 1326, "用户名或密码无效",;
                      ddRet == 1203, "网络设备 "   + szRemoteName + " 不被接受",;
                      ddRet == 1222, "网络不可用", "登录连接异常")
        MESSAGEBOX(szMsg, "提示")
    ENDIF

    RETURN (ddRet == 0)
ENDFUNC
2018-04-20 15:22
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
版主您好!不知道为什么我运行,显示“登录连接异常”。
2018-04-20 16:03
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
现在连接上了,但是不能开连接。
2018-04-20 16:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用yll148在2018-4-20 16:28:07的发言:

现在连接上了,但是不能开连接。

“不能开连接”是什么意思,有什么提示
2018-04-20 16:31
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
是我没有说明白,我是说不能断开已映射的驱动器,请您指教,谢谢!
2018-04-20 17:52
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
麻烦吹版主帮我指点一下好吗?谢谢!
2018-04-21 20:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
周末休息无网络测试,周一再看看。
2018-04-22 07:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用yll148在2018-4-20 17:52:19的发言:

是我没有说明白,我是说不能断开已映射的驱动器,请您指教,谢谢!

用映射驱动器时试试这样:(Win10连接和断开XP的共享文件夹测试正常)
IF _NetConnect("X:", "\\192.168.0.125\temp", "www", "www")
    COPY TO X:\temp.dbf
    USE X:\temp.dbf
    BROWSE
    USE
    ? WNetCancelConnection2("X:", 1, 0)
ENDIF
2018-04-23 08:13
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
好了,谢谢版主!
2018-04-23 08:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-486222-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.142045 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved