我正在尝试连接到本地网络上的文件。 该文件与任何人共享,并具有读取和写入权限。 我没有设置任何密码。
我可以在计算机上的Windows资源管理器中访问此文件,也可以对其进行读写。
但是,当我尝试使用下面的代码连接到文件时,WNetAddConnection2返回5,表示“访问被拒绝”。
我以管理员身份运行VS 2017,只需确保我具有足够的凭据,但这不会更改任何内容。
运行代码时,我没有在Windows资源管理器中打开此文件。
有人可以建议我下一步检查什么吗?
谢谢!
Private Sub btnServer_Click(sender As Object, e As EventArgs) Handles btnServer.Click
Dim nr As New NETRESOURCE
nr.dwType = RESOURCETYPE_DISK
nr.lpRemoteName = "\\WIN-AJUUS3V93E5\Users\MyUser\Desktop\vm7share\aa.user.db"
Dim iRet As UInteger
iRet = WNetAddConnection2(nr, "", "", 0)
If iRet <> NO_ERROR Then
If iRet = 65 Then
MessageBox.Show("Wrong path!")
ElseIf iRet = 1219 Then
MessageBox.Show("Another connection (perhaps in Windows Explorer) already exists. Close that connection first!")
ElseIf iRet = 5 Then
MessageBox.Show("Access denied!")
Else
Throw New Exception("WNetAddConnection2 failed.")
End If
End If
End Sub
答案 0 :(得分:1)
在这里耦合问题。
该函数的第二个和第三个参数是用户名和密码。 documentation说要使用当前登录的用户,必须传递null。您传递的是空字符串。尝试将""
替换为null
,然后看看会发生什么。
另一种,我认为您提供的是太具体的远程资源。我认为您无法WNetAddConnection2访问单个文件。仅指定服务器+共享,即"\\WIN-AJUUS3V93E5\Users"
如果可以正常工作,请尝试使用目录,即"\\WIN-AJUUS3V93E5\Users\MyUser\Desktop\vm7share\