Sprache: VB
Die nachfolgende Klasse ermittelt den UNC Namen eins gemounteten Netzlaufwerkes.
Public Class clsUnc
Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, ByRef cbRemoteName As Integer) As Integer
Friend Shared Function fnGetUncPath(ByVal strDriveLetter As String) As String
Dim intRet As Integer
Dim strRet As String = ""
Dim strTmp As String = New String(" ", 260)
Dim intLen As Integer = 260
Dim intCnt As Integer = 0
intRet = WNetGetConnection(strDriveLetter.Substring(0, 1) & ":", strTmp, intLen)
Do Until intCnt = (intLen - 1) Or strTmp.Substring(intCnt + 1, 1) = " "
strRet &= strTmp.Substring(intCnt, 1)
intCnt += 1
Loop
Return strRet
End Function
End Class
Public Class clsUnc
Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, ByRef cbRemoteName As Integer) As Integer
Friend Shared Function fnGetUncPath(ByVal strDriveLetter As String) As String
Dim intRet As Integer
Dim strRet As String = ""
Dim strTmp As String = New String(" ", 260)
Dim intLen As Integer = 260
Dim intCnt As Integer = 0
intRet = WNetGetConnection(strDriveLetter.Substring(0, 1) & ":", strTmp, intLen)
Do Until intCnt = (intLen - 1) Or strTmp.Substring(intCnt + 1, 1) = " "
strRet &= strTmp.Substring(intCnt, 1)
intCnt += 1
Loop
Return strRet
End Function
End Class
Alte URL:
/snippet/unc-pfad-ermitteln/445
Hallo Volker: Du hast einen Fehler in der Schleife: Du springst raus, wenn das nächste Zeichen ein Leerzeichen ist. Muss aber erst sein, wenn das aktuelle Zeichen ein Leerzeichen ist.
[code] Do Until intCnt = (intLen – 1) Or strTmp.Substring(intCnt + 0, 1) = “ “
[/code]