' 發展單位:風禹科技驗證有限公司 ' 撰寫人:鄭子璉(Tzu-Lien, Cheng, 璉璉) ,成大水博肄,微軟最有價值專家 ' Web: http://tlcheng.twbbs.org/TLCheng/ E-Mail: qvb3377@ms5.hinet.net ' -------------------------------------------------------------------------------------- Module modWindowNetwork ' 網路芳鄰 #Region "Windows API 宣告" _ Private Function WNetGetConnection( _ ByVal lpszLocalName As String, _ ByVal lpszRemoteName As String, _ ByRef lpnLength As Integer _ ) As Integer End Function _ Private Function WNetGetUniversalName( _ ByVal lpLocalPath As String, _ ByVal dwInfoLevel As enuInfoLevel, _ ByVal lpBuffer As String, _ ByRef lpBufferSize As Integer _ ) As Integer End Function Private Enum enuInfoLevel As Integer Universal_Name_Info_Level = 1 Remote_Name_Info_Level = 2 End Enum Private Const MAX_PATH As Integer = 260 #End Region Public Function MyWNetGetUniversalName(ByVal lpLocalPath As String) As String Dim lpUniversalName As New String(Chr(0), MAX_PATH) Dim rtnInteger, lpBufferSize As Integer lpBufferSize = MAX_PATH rtnInteger = WNetGetUniversalName(lpLocalPath, enuInfoLevel.Universal_Name_Info_Level, lpUniversalName, lpBufferSize) If rtnInteger = 0 Then lpUniversalName = Mid(lpUniversalName, InStr(lpUniversalName, "\\")) Return Left(lpUniversalName, InStr(lpUniversalName, Chr(0)) - 1) Else Return "" End If End Function Public Function MyWNetGetConnection(ByVal lpszLocalName As String) As String Dim lpszRemoteName As String Dim rtnInteger, lpnLength As Integer If Len(lpszLocalName) > 2 Then lpszLocalName = Left(lpszLocalName, 2) ElseIf Len(lpszLocalName) = 1 Then lpszLocalName = lpszLocalName & ":" End If rtnInteger = WNetGetConnection(lpszLocalName, Nothing, lpnLength) lpszRemoteName = New String(Chr(0), lpnLength) rtnInteger = WNetGetConnection(lpszLocalName, lpszRemoteName, lpnLength) If rtnInteger = 0 Then Return Left(lpszRemoteName, lpnLength - 1) Else Return "" End If End Function End Module