救命呀!!发言就给分!各位大哥给我看看这段程序???

lhh 2002-01-23 02:43:10
我想吧局域网中的某一共享文件夹映射到本地,写了如下的代码,老是连不上,请大家给我看看。
Public Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
Public Type NETRESOURCE
dwScope As Long
dwType As Long
dwDisplayType As Long
dwUsage As Long
pLocalName As String
pRemoteName As String
pComment As Long
pProvider As Long
End Type
Dim lpnet As NETRESOURCE
lpnet.dwType = 0
lpnet.pLocalName = "G:"
lpnet.pRemoteName = "\\des7\lhh share"

If WNetAddConnection2(lpnet, "lhh", "", 1) <> 0 Then '对方是win98,no username
MsgBox "网络连接错误"
Exit Sub
Else
lstFile.Path = strLocalDriveLetter
'MsgBox ("已经成功映射连接上服务器!")

End If
...全文
87 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhh 2002-01-23
  • 打赏
  • 举报
回复
vbnull跟null有什么区别呢?
lhh 2002-01-23
  • 打赏
  • 举报
回复
谢谢 dbcontrols(泰山__我偏不走,气死他们!哈哈哈哈) 
我刚刚试了您给的代码,连上了,那我是用WNetCancelConnection 还是WNetCancelConnection2函数来断开连接那?
要是到时候服务器是windows2000,可是要填username 的呀,我再试,恭喜
您中奖了,等着领奖吧。
对大家都又的!
lhh 2002-01-23
  • 打赏
  • 举报
回复
首先谢谢大家给我的建议,分是在解决问题字后一定会给的,不过帮忙的朋友越多,每人的分就少了,所以请各位能尽快帮我解决这个问题,给您请安了.
1.lpnet.pLocalName = "G:" '此盘符是对的,我的机器最后一个盘是F:我本来是用函数获得它的,现在我给大家看的是一个简单的,
2.lpnet.pRemoteName = "\\des7\lhh share" '此为des7机器上的一个共享目录"lhh share"有空格的.
3.密码也是对的哦!

juqiang 2002-01-23
  • 打赏
  • 举报
回复
这是几点疑问,你看一下:
1、在结构lpNetResource中,你的pRemoteName中的share是什么意思?他共享的文件夹的名字中间有空格吗?如果只是目录lhh,那么写成:\\des7\lhh就可以了。
2、对于lpNetResource中的驱动器符号,应该是你当前系统中不存在的驱动器编号。是不是你的"G:"已经存在了?
3、如果密码不正确,那么,这个函数失败(所以这个函数可以破解局域网机器的共享文件夹密码,呵呵!)
4、建议你调用完成后,迅速调用函数:WNetGetLastError确定错误代码。

呵呵,给分吧!
shiruiyan 2002-01-23
  • 打赏
  • 举报
回复
yes,vbnull
dbcontrols 2002-01-23
  • 打赏
  • 举报
回复
If WNetAddConnection2(lpnet, "lhh", VbNull, 1) <> 0 Then '对方是win98,no username
lishush 2002-01-23
  • 打赏
  • 举报
回复

这个我不太清楚,你网上去找找资料吧!

zyl910 2002-01-23
  • 打赏
  • 举报
回复
我发言了!给分!

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧