请问用wnetaddconnection2函数在公网映射驱动器为啥不成呢
网友回复:网络_映射网络驱动器(共享全路径,映射的盘符,用户名,密码)
如:
调试输出 (网络_映射网络驱动器 (“\\192.168.1.2\tddownload”, “R”, “administrator”, “meigui”))
把对方的共享路径映射成本机R盘,成功则返回真。
但我用后却没成:
我就是你那么写的,\\192.168.1.101\tddownload,就是这么写的,试了下,内网可以,我现在想试下外网,但没成。咋回事?这样的路径应该可以吧?(从外网访问没成。)怎么实现外网访问呢?
附上源码,里面有公网地址,也有要访问的内网。
潇潇大哥,能解答下吗,帮帮忙 .版本 2
.子程序 网络_映射网络驱动器, 逻辑型, 公开, 将指定的网络资源映射到本地驱动器。成功返回真;失败返回假。本命令为初级命令。
.参数 网络资源路径, 文本型, , 要映射到本地的网络资源路径。
.参数 驱动器, 文本型, , 映射到本地的驱动器名。
.参数 用户名, 文本型, 可空
.参数 密码, 文本型, 可空
.局部变量 NetR, NETRESOURCE
.局部变量 ret, , , , 这里怎么没定义
.' 如果真 (是否为空 (用户名))
' 用户名 = 字符 (0)
.如果真结束
.' 如果真 (是否为空 (密码))
' 密码 = 字符 (0)
.如果真结束
驱动器 = 选择 (取文本右边 (驱动器, 1) ≠ “:”, 驱动器 + “:”, 驱动器)
NetR.dwScope = 2
NetR.dwType = 1
NetR.dwDisplayType = 3
NetR.dwUsage = 1
NetR.lpLocalName = 驱动器
NetR.lpRemoteName = 网络资源路径
ret = WNetAddConnection2 (NetR, 密码, 用户名, 1)
返回 (ret = 0)' 这里为何要这要写,返回值都是0?不能确定是否创建成功
.版本 2
.子程序 网络_取消网络驱动器映射, 逻辑型, 公开, 取消指定的网络驱动器映射。成功返回真;失败返回假。本命令为初级命令。
.参数 驱动器名称, 文本型
驱动器名称 = 选择 (取文本右边 (驱动器名称, 1) ≠ “:”, 驱动器名称 + “:”, 驱动器名称)
返回 (WNetCancelConnection2 (驱动器名称, 1, 0) = 0)' 这里为何又是这样??????????
我在虚拟机上试过正常,但因我的本机已经取消了所有共享设置,修改麻烦所以不想重启机了,你参考后再测试下。如下图所示:
感谢潇潇大哥!!!这回成了!
页:
[1]