People Ignore Design That Ignores People

People Ignore Design That Ignores People

'---------------------------------------------------------------------------------------
' Module    : modFPOrdnerEigenedateien
' DateTime  : 06.01.2008 22:51
' Author    : Burkhard Schlutt
' Purpose   : enthält nur die Funktion zur Ermittlung des Ortes für Eigene Dateien
'             durch andere Konstanten können auch andere Verzeichnisse ermittelt werden
'---------------------------------------------------------------------------------------
Option Explicit
'API-Deklaration
Private Declare Function SHGetFolderPath Lib "shell32.dll" Alias _
    "SHGetFolderPathA" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByVal _
    hToken As Long, ByVal dwFlags As Long, ByVal lpszPath As String) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
    (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias _
    "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
'SHGetFolderPath dwFlags-Konstanten
Private Const SHGFP_TYPE_CURRENT = 0 'Aktueller Verzeichnispfad des virtuellen Verzeichnisses
Private Const SHGFP_TYPE_DEFAULT = 1 'Standardpfad des virtuellen Verzeichnisses
 
'SHGetFolderPath Rückgabe-Konstanten
Private Const S_OK = &H0 'Die Funktion war erfolgreich
Private Const S_FALSE = &H1 'Die Funktion ist gescheitert
Private Const E_INVALIDARG = &H80070057 'Es wurden ungültige Parameter übergeben
 
'SHGetFolderPath/SHGetSpecialFolderPath nFolder-Konstanten
Private Const CSIDL_FLAG_CREATE = &H8000 '(Win 2000) Falls das Verzeichnis nicht Eistiert wird es erstellt
Private Const CSIDL_FLAG_DONT_VERIFY = &H4000 '(Win 2000) Benutzt den Ordner auch wenn der CSIDL nicht existiert
Private Const CSIDL_ADMINTOOLS = &H30 '(Win 2000) Ermittelt das Verzeichnis "Administrations Tools"
Private Const CSIDL_ALTSTARTUP = &H1D 'Ermittelt das Verzeichnis "Alternatives Startverzeichnis"
Private Const CSIDL_APPDATA = &H1A 'Ermittelt das Verzeichnis "AppData"
Private Const CSIDL_BITBUCKET = &HA 'Ermittelt das Verzeichnis "Papierkorb"
Private Const CSIDL_COMMON_ADMINTOOLS = &H2F '(Win 2000) Ermittelt das Verzeichnis "Administartions Tools für alle Benutzer"
Private Const CSIDL_COMMON_ALTSTARTUP = &H1D '(Win 2000) Ermittelt das Verzeichnis "Alternatives Startverzeichnis für alle Benutzer"
Private Const CSIDL_COMMON_APPDATA = &H23 '(Win NT/2000) Ermittelt das Verzeichnis "AppData für alle Benutzer"
Private Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19 '(Win NT/2000) Ermittelt das Verzeichnis "Desktop für alle Benutzer"
Private Const CSIDL_COMMON_DOCUMENTS = &H2E '(Win NT/2000) Ermittelt das Verzeichnis "Dokumente für alle Benutzer"
Private Const CSIDL_COMMON_FAVORITES = &H1F '(Win NT/2000) Ermittelt das Verzeichnis "Favoriten für alle Benutzer"
Private Const CSIDL_COMMON_PROGRAMS = &H17 '(Win NT/2000) Ermittelt das Verzeichnis "Startmenü/Programme für alle Benutzer"
Private Const CSIDL_COMMON_STARTMENU = &H16 '(Win NT/2000) Ermittelt das Verzeichnis "Startmenü für alle Benutzer"
Private Const CSIDL_COMMON_STARTUP = &H18 '(Win NT/2000) Ermittelt das Verzeichnis "Startmenü/Autostart für alle Benutzer"
Private Const CSIDL_COMMON_TEMPLATES = &H2D '(Win NT/2000) Ermittelt das Verzeichnis "Templates für alle Benutzer"
Private Const CSIDL_CONTROLS = &H3 'Ermittelt das Verzeichnis "Systemsteuerung"
Private Const CSIDL_COOKIES = &H21 'Ermittelt das Verzeichnis "Cookies"
Private Const CSIDL_DESKTOP = &H0 'Ermittelt das Verzeichnis "Desktop"
Private Const CSIDL_DESKTOPDIRECTORY = &H10 'Ermittelt das Verzeichnis "Desktop-Verzeichnis"
Private Const CSIDL_DRIVES = &H11 'Ermittelt das Verzeichnis "Arbeitsplatz"
Private Const CSIDL_FAVORITES = &H6 'Ermittelt das Verzeichnis "Favoriten"
Private Const CSIDL_FONTS = &H14 'Ermittelt das Verzeichnis "Fonts"
Private Const CSIDL_HISTORY = &H22 'Ermittelt das Verzeichnis "History"
Private Const CSIDL_INTERNET = &H1 'Ermittelt das Verzeichnis "Internet"
Private Const CSIDL_INTERNET_CACHE = &H20 'Ermittelt das Verzeichnis "Internet Cache"
Private Const CSIDL_LOCAL_APPDATA = &H1C '(nur IE ab version 5.0) Ermittelt das Verzeichnis "Local AppData"
Private Const CSIDL_MYPICTURES = &H27 '(nur IE ab version 5.0) Ermittelt das Verzeichnis "Eigene Bilder"
Private Const CSIDL_NETHOOD = &H13 'Ermittelt das Verzeichnis "Netzwerkumgebung"
Private Const CSIDL_NETWORK = &H12 'Ermittelt das Verzeichnis "Gesamtes Netzwerk"
Private Const CSIDL_PERSONAL = &H5 'Ermittelt das Verzeichnis "Eigene Dokumente"
Private Const CSIDL_PRINTERS = &H4 'Ermittelt das Verzeichnis "Drucker"
Private Const CSIDL_PRINTHOOD = &H1B 'Ermittelt das Verzeichnis "Drucker-Verzeichnis"
Private Const CSIDL_PROFILE = &H28 '(nur IE ab version 5.0) Ermittelt das Verzeichnis "Profile"
Private Const CSIDL_PROGRAM_FILES = &H26 '(nur IE ab version 5.0) Ermittelt das Verzeichnis "Programme"
Private Const CSIDL_PROGRAM_FILES_COMMON = &H2B '(Win NT/2000) Ermittelt das Verzeichnis "Programme für alle Benutzer"
Private Const CSIDL_PROGRAM_FILES_COMMONX86 = &H2C '(Win 2000 - x86) Ermittelt das Verzeichnis "Programme für alle Benutzer"
Private Const CSIDL_PROGRAM_FILESX86 = &H2A '(Win 2000 - RISC) Ermittelt das Verzeichnis "Programme für alle Benutzer"
Private Const CSIDL_PROGRAMS = &H2 'Ermittelt das Verzeichnis "Startmenü/Programme"
Private Const CSIDL_RECENT = &H8 'Ermittelt das Verzeichnis "Startmenü/Dokumente"
Private Const CSIDL_SENDTO = &H9 'Ermittelt das Verzeichnis "Senden zu"
Private Const CSIDL_STARTMENU = &HB 'Ermittelt das Verzeichnis "Startmenü"
Private Const CSIDL_STARTUP = &H7 'Ermittelt das Verzeichnis "Autostart"
Private Const CSIDL_SYSTEM = &H25 '(nur IE ab version 5.0) Ermittelt das Verzeichnis "System"
Private Const CSIDL_SYSTEMX86 = &H29 '(Win 2000) Ermittelt das Verzeichnis "Systemx86"
Private Const CSIDL_TEMPLATES = &H15 'Ermittelt das Verzeichnis "Templates"
Private Const CSIDL_WINDOWS = &H24 '(nur IE ab version 5.0) Ermittelt das Verzeichnis "Windows"

Private Sub Test_Ordner_Eigenedateien()
  MsgBox Ordner_Eigenedateien, , "Die Funktion Orner_Eigenedateien liefert folgendes Ergebnis"
End Sub
Function
Ordner_Eigenedateien() As String Dim hwnd As Long Dim sSave As String Dim Retval As Long, Buffer As String Buffer = Space(256) 'Wir brauchen ein Fenster-handle und nehmen des Desktop hwnd = GetDesktopWindow sSave = Space$(GetWindowTextLength(hwnd) + 1) GetWindowText hwnd, sSave, Len(sSave) Retval = SHGetFolderPath(hwnd, CSIDL_PERSONAL, 0&, SHGFP_TYPE_CURRENT, Buffer) Ordner_Eigenedateien = Left$(Buffer, InStr(1, Buffer, vbNullChar) - 1) End Function

Ratgeber Paint.Net Kostenlose Flashtools Skywalk Webdesign Gleimstraße 50 iMacro Impressum & Kontakt