在线等(访问共享文件的问题)求教

晓轩 2006-10-08 01:40:05
Structure NETRESOURCE
Dim dwScope As Long
Dim dwType As Long
Dim dwDisplayType As Long
Dim dwUsage As Long
Dim lpLocalName As String
Dim lpRemoteName As String
Dim lpComment As String
Dim lpProvider As String
End Structure
Const NO_ERROR = 0
Const CONNECT_UPDATE_PROFILE = &H1
Const RESOURCETYPE_DISK = &H1
Const RESOURCETYPE_PRINT = &H2
Const RESOURCETYPE_ANY = &H0
Const RESOURCE_CONNECTED = &H1
Const RESOURCE_REMEMBERED = &H3
Const RESOURCE_GLOBALNET = &H2
Const RESOURCEDISPLAYTYPE_DOMAIN = &H1
Const RESOURCEDISPLAYTYPE_GENERIC = &H0
Const RESOURCEDISPLAYTYPE_SERVER = &H2
Const RESOURCEDISPLAYTYPE_SHARE = &H3
Const RESOURCEUSAGE_CONNECTABLE = &H1
Const RESOURCEUSAGE_CONTAINER = &H2

Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias _
"WNetAddConnection2A" _
(ByVal lpNetResource As NETRESOURCE, _
ByVal lpPassword As String, _
ByVal lpUserName As String, _
ByVal dwFlags As Long) As Long

Private Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias _
"WNetCancelConnection2A" _
(ByVal lpName As String, _
ByVal dwFlags As Long, _
ByVal fForce As Long) As Long
'以上是声明部分,楼主放到声明中就可以了
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim NetR As NETRESOURCE
Dim ErrInfo As Long

NetR.dwScope = RESOURCE_GLOBALNET
NetR.dwType = RESOURCETYPE_DISK
NetR.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE
NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE
NetR.lpLocalName = System.Environment.MachineName '这里是本机名
NetR.lpRemoteName = System.Environment.MachineName '"microsof-9e96b0" '这里是远程机名

'下面的password和username是密码和用户名,楼主自己写上就是了
ErrInfo = WNetAddConnection2(NetR, "111111", "rechar.Jamson", CONNECT_UPDATE_PROFILE)

If ErrInfo = NO_ERROR Then
MsgBox("Net connection successful!", vbInformation)
Else
MsgBox("ERROR: " & Str(ErrInfo) & " - Net connection unsuccessful!", _
vbExclamation)
End If
End Sub

'断开的就比较简单了
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim ErrInfo As Long
Dim strLocalName As String

strLocalName = "" '这里是本地机名,要断开的盘符
ErrInfo = WNetCancelConnection2(strLocalName, CONNECT_UPDATE_PROFILE, False)

If ErrInfo = NO_ERROR Then
MsgBox("Net disconnection successful!", vbInformation)
Else
MsgBox("ERROR: " & Str(ErrInfo) & " - Net disconnection unsuccessful!", _
vbExclamation)
End If
End Sub


错误代码: 487
...全文
191 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
晓轩 2006-10-13
  • 打赏
  • 举报
回复
完了。没人了。
晓轩 2006-10-13
  • 打赏
  • 举报
回复
谢谢愚哥指教
Knight94 2006-10-13
  • 打赏
  • 举报
回复
to 映射到本地然后如何访问呢?

映射到本地了,就像本地文件一样访问,你可以通过FileStream去读取等等。
Knight94 2006-10-13
  • 打赏
  • 举报
回复
to 比如我映射的是c:可是我本地也有个c:该如何区分呢?~~~~~

如果本地有C盘,你进行映射的时候就不能指定C作为目标盘符

至于空盘符怎么获得,你可以通过
Directory.GetLogicalDrives
来进行排除。
晓轩 2006-10-09
  • 打赏
  • 举报
回复
我说愚哥,映射到本地然后如何访问呢?
比如我映射的是c:可是我本地也有个c:该如何区分呢?~~~~~
Knight94 2006-10-08
  • 打赏
  • 举报
回复
我写过一篇文章,不过是c#,你去参看一下
http://blog.csdn.net/knight94/archive/2006/03/21/631309.aspx
晓轩 2006-10-08
  • 打赏
  • 举报
回复
人呢?!!哎.高手就这么难找吗?~~~~~~~
xingyaohua 2006-10-08
  • 打赏
  • 举报
回复
沙发

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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