Moin!
ich möchte UNC-Pfade ermitteln um Pfade zu vergleichen. Hierzu habe ich ein Snipsel gefunden unter: dotnet-snippets.de/snippet/ori…zlaufwerkes-ermitteln/940
dotnet-snippets.de/snippet/unc-pfad-ermitteln/445
Diesen habe ich geringfügig modifziert und der sieht jetzt wie folgt aus:
Das funktioniert auch insoweit - aber wenn ich zum Beispiel: c:\temp prüfen lasse, dann kommt es in folgender Zeile
zu einem Fehler mit der Meldung:
Zu diesem Zeitpunkt ist dann strTemp ein Leerstring! Muss ja zum Fehler führen. .-)
Kann mir einer sagen wie ich das ganze sicherer machen kann oder gibt es für diese Aufgabe ein "bessere" Funktion ?
Gruß Jan
PS: URL berichtigt !
ich möchte UNC-Pfade ermitteln um Pfade zu vergleichen. Hierzu habe ich ein Snipsel gefunden unter: dotnet-snippets.de/snippet/ori…zlaufwerkes-ermitteln/940
dotnet-snippets.de/snippet/unc-pfad-ermitteln/445
Diesen habe ich geringfügig modifziert und der sieht jetzt wie folgt aus:
VB.NET-Quellcode
- Friend Shared Function fnGetUncPath(ByVal strDriveLetter As String) As String
- Dim Result As String = ""
- Dim intRet As Integer
- Dim strRet As String = ""
- Dim Length As Integer = 260
- Dim strTemp As String = New String(" ", Length)
- If strDriveLetter.Length <= 2 Then Return strDriveLetter
- ' hier liegt schon vermutlich ein UNC vor!
- If strDriveLetter.Substring(0, 2) = "\\" Then Return strDriveLetter
- Dim PfadNoDriveLetter As String = strDriveLetter.Substring(2)
- Try
- intRet = WNetGetConnection(strDriveLetter.Substring(0, 1) & ":", strTemp, Length)
- strRet = strTemp.Substring(0, strTemp.IndexOf(Chr(0)))
- ' erweitert um den Teil hinter dem Laufwerksbuchstaben
- Result = strTemp.Substring(0, strTemp.IndexOf(Chr(0))) & PfadNoDriveLetter
- Catch EX As Exception
- MsgBox("unerwarteter Fehler beim Speichern!" & vbCrLf & "Fehler bei der Bestimmung des UNC-Pfades in fnGetUncPath!" & vbCrLf & _
- "Pfad: " & strDriveLetter & vbCrLf & _
- "intRet: " & intRet & vbCrLf & _
- "strRet: " & strRet & vbCrLf & EX.ToString, MsgBoxStyle.Critical, k_CompanyName)
- Result = strDriveLetter
- End Try
- Return Result
- End Function
Das funktioniert auch insoweit - aber wenn ich zum Beispiel: c:\temp prüfen lasse, dann kommt es in folgender Zeile
zu einem Fehler mit der Meldung:
Zu diesem Zeitpunkt ist dann strTemp ein Leerstring! Muss ja zum Fehler führen. .-)
Kann mir einer sagen wie ich das ganze sicherer machen kann oder gibt es für diese Aufgabe ein "bessere" Funktion ?
Gruß Jan
PS: URL berichtigt !
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „jan99“ ()