Feedback

VB - Programmverzeichnisse ermitteln / Systemverzeichnisse

Veröffentlicht von am 20.11.2007
(3 Bewertungen)
Ähnlich dem von "freak" in C# aber mit Besonderen Ordnern ;)
  Public Enum SpecialFolders
        Windows = 0
        Programme
        Desktop
        Startmenue
        EigeneDateien
        Schnellstart
    End Enum

    Public Function GetSpecialFolders(ByVal SF As SpecialFolders) As String
        GetSpecialFolders = ""

        Select Case SF
            Case SpecialFolders.Desktop
                GetSpecialFolders = My.Computer.FileSystem.SpecialDirectories.Desktop
            Case SpecialFolders.Programme
                GetSpecialFolders = My.Computer.FileSystem.SpecialDirectories.Programs
            Case SpecialFolders.Startmenue
                GetSpecialFolders = System.Environment.GetEnvironmentVariable("HOMEDRIVE")
                GetSpecialFolders += System.Environment.GetEnvironmentVariable("HOMEPATH")
                GetSpecialFolders += "\Startmenü\Programme"
            Case SpecialFolders.Schnellstart
                GetSpecialFolders = System.Environment.GetEnvironmentVariable("HOMEDRIVE")
                GetSpecialFolders += System.Environment.GetEnvironmentVariable("HOMEPATH")
                GetSpecialFolders += "\Anwendungsdaten\Microsoft\Internet Explorer\Quick Launch"

            Case SpecialFolders.EigeneDateien
                GetSpecialFolders = My.Computer.FileSystem.SpecialDirectories.MyDocuments
            Case SpecialFolders.Windows
                GetSpecialFolders = System.Environment.GetEnvironmentVariable("SystemRoot")
        End Select

        If My.Computer.FileSystem.DirectoryExists(GetSpecialFolders) = False Then Return ""

        Return GetSpecialFolders
    End Function
Abgelegt unter Special Folders.

2 Kommentare zum Snippet

Peter Dietz schrieb am 20.11.2007:
Das funktioniert aber nur in Deutschen Systemen....
Guckst Du -> http://www.mvps.org/access/api/api0054.htm
So is wohl besser...

Koopakiller schrieb am 29.07.2015:
Ich würde hier auf Environment.GetFolderPath verweisen, da es wohl die beste Lösung ist um an besondere Ordnerpfade heran zu kommen.
MSDN: https://msdn.microsoft.com/en-us/library/system.environment.getfolderpath.aspx

Die dazugehörige SpecialFolders-Enumeraion wurde über die verschiedenen .NET Versionen erweitert, sodass die Funktion unterschiedliche Funktionsumfänge ausweißt.
 

Logge dich ein, um hier zu kommentieren!