Sprache: VB
Ä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 += "AnwendungsdatenMicrosoftInternet ExplorerQuick 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
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 += "AnwendungsdatenMicrosoftInternet ExplorerQuick 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
Alte URL:
/snippet/programmverzeichnisse-ermitteln-systemverzeichnisse/685
Das funktioniert aber nur in Deutschen Systemen….
Guckst Du -> http://www.mvps.org/access/api/api0054.htm
So is wohl besser…
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.