Ich sehe daß es für VB sein sollte.
Damit kannst du auf die Systemordner zugreifen.
Einfach als SystemordnerBestimmen.bas speichern und im Projekt benutzen.
Code:
Attribute VB_Name = "SystemordnerBestimmen"
' BENUTZUNG *******************************************************************************************************
' MsgBox GetSpecialFolder(sfidSYSTEM)
'******************************************************************************************************************
'Deklaration Zugriff auf Systemverzeichnisse (Desktop, Startmenü, ...)#############################################
Public Enum SpecialFolderIDs
sfidADMINTOOLS = &H30
sfidALTSTARTUP = &H1D
sfidAPPDATA = &H1A 'Anwendungsdaten
sfidBITBUCKET = &HA
sfidCDBURN_AREA = &H3B 'CD Burning
sfidCOMMON_ADMINTOOLS = &H2F 'Für alle Benutzer (All Users)
sfidCOMMON_ALTSTARTUP = &H1D
sfidCOMMON_APPDATA = &H23
sfidCOMMON_DESKTOPDIRECTORY = &H19 'Desktop
sfidCOMMON_DOCUMENTS = &H2E
sfidCOMMON_FAVORITES = &H1F 'Favoriten
sfidCOMMON_MUSIC = &H35 'Gemeinsame Musik
sfidCOMMON_PICTURES = &H36 'Gemeinsame Bilder
sfidCOMMON_PROGRAMS = &H17 'Programme-Ordner im Startmenü
sfidCOMMON_STARTMENU = &H16 'Starmenü
sfidCOMMON_STARTUP = &H18 'Autostart
sfidCOMMON_TEMPLATES = &H2D 'Vorlagen
sfidCOMMON_VIDEO = &H37 ' Gemeinsame Videos
sfidCommonFiles = &H10001
sfidCONTROLS = &H3
sfidCOOKIES = &H21 'Cookies
sfidDESKTOP = &H0 'Desktop
sfidDESKTOPDIRECTORY = &H10
sfidDRIVES = &H11 'Treiber
sfidFAVORITES = &H6 'Favoriten
sfidFONTS = &H14 'Schriftarten
sfidHISTORY = &H22 'Verlauf
sfidINTERNET = &H1
sfidINTERNET_CACHE = &H20 'Temporäre Internetdateien
sfidLOCAL_APPDATA = &H1C 'Anwendungsdaten
sfidMYDOCUMENTS = &HC
sfidMYMUSIC = &HD 'Eigene Musik
sfidMYPICTURES = &H27 'Eigene Bilder
sfidMYVIDEO = &HE 'Eigene Videos
sfidNETHOOD = &H13 'Netzwerkumgebung
sfidNETWORK = &H12
sfidPERSONAL = &H5 'Eigene Dateien
sfidPRINTERS = &H4
sfidPRINTHOOD = &H1B 'Druckerumgebung
sfidPROFILE = &H28 'Profil
sfidPROGRAM_FILES = &H26 'Programme
sfidPROGRAM_FILES_COMMON = &H2B 'Gemeinsamme Dateien
sfidProgramFiles = &H10000
sfidPROGRAMS = &H2 'Programme (im Startmenü)
sfidRECENT = &H8 'Zuletzt verwendete Dokumente
sfidSENDTO = &H9 'Senden An
sfidSTARTMENU = &HB 'Startmenü
sfidSTARTUP = &H7 'Autostart
sfidSYSTEM = &H25 'System (bzw. System32)
sfidTEMPLATES = &H15 'Vorlagen
sfidWINDOWS = &H24 'Windows
End Enum
Public Declare Function SHGetSpecialFolderLocation Lib "shell32" (ByVal hwndOwner As Long, ByVal nFolder As SpecialFolderIDs, ByRef pIdl As Long) As Long
Public Declare Function SHGetPathFromIDListA Lib "shell32" (ByVal pIdl As Long, ByVal pszPath As String) As Long
'Zugriff auf Systemverzeichnisse (Desktop, Startmenü, ...)#########################################################
Public Function GetSpecialFolder(Folder As SpecialFolderIDs) As String
Dim sPath As String, nPos As Long, IDL As Long
If SHGetSpecialFolderLocation(0, Folder, IDL) = 0 Then
sPath = String$(255, 0)
SHGetPathFromIDListA IDL, sPath
nPos = InStr(sPath, vbNullChar)
If nPos > 0 Then
sPath = Left$(sPath, nPos - 1)
End If
End If
GetSpecialFolder = sPath
End Function