在线等(访问共享文件的问题)求教
晓轩 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