获取网路碟机UNC路径
Const NO_ERROR As Long = 0
Const ERROR_MORE_DATA As Long = 234
Const ERROR_BAD_DEVICE As Long = 1200
Const ERROR_NO_NETWORK As Long = 1222
Const ERROR_NOT_SUPPORTED As Long = 50
Const ERROR_NOT_CONNECTED As Long = 2250
Const ERROR_EXTENDED_ERROR As Long = 1208
Const ERROR_NO_NET_OR_BAD_PATH As Long = 1203
Const ERROR_CONNECTION_UNAVAIL As Long = 1201
Declare Function WNetGetConnectionA Lib "mpr.dll" (ByVal lpszLocalName As String, _
ByVal lpszRemoteName As String, cbRemoteName As Long) As Long
Function GetUNCPath(ByVal strDriveLetter As String, ByRef strUNCPath As String) As Long
On Local Error GoTo GetUNCPath_Err
Dim strMsg As String
Dim lngReturn As Long
Dim strLocalName As String
Dim strRemoteName As String
Dim lngRemoteName As Long
strLocalName = strDriveLetter
strRemoteName = String$(255, Chr$(32))
lngRemoteName = Len(strRemoteName)
lngReturn = WNetGetConnectionA(strLocalName, strRemoteName, lngRemoteName)
If lngReturn = NO_ERROR Then
GetUNCPath = NO_ERROR
strUNCPath = Trim$(strRemoteName)
strUNCPath = Left$(strUNCPath, Len(strUNCPath) - 1)
Else
GetUNCPath = lngReturn
strUNCPath = strDriveLetter & "\"
End If
GetUNCPath_End:
Exit Function
GetUNCPath_Err:
GetUNCPath = ERROR_NOT_SUPPORTED
strUNCPath = strDriveLetter
Resume GetUNCPath_End
End Function
Function Load_UNCPath()
Dim strUNC As String
If GetUNCPath("F:", strUNC) = NO_ERROR Then
MsgBox "The UNC of the specified drive is " & strUNC
Else
MsgBox "There was a problem, sorry!"
End If
End Function