VisualBasic Snippets  

Ermitteln von Windows-Systemverzeichnissen (z.B. C:\Eigene Dateien):
 

Häufig steht der Programmierer vor der Aufgabe Daten in bestimmten Verzeichnissen abzulegen bzw. als Speicherort vorzuschlagen.

Mit dem untenstehenden Programm-Code können Sie die wichtigsten Systemverzeichnisse ermitten.


Quelltext der Anwendung:

Die DLL-Deklarationen, die Auflistung 'Enum ShellSpecialFolderConstants' und die Function 'GetSpecialFolder' werden als Modul eingefügt.
Der Aufruf der Funktion gestaltet sich dann wie folgt:


Text1(1).Text = GetSpecialFolder(tsProgramme)

'---------------------- in Modul ---------------------------------
'API-Deklarationen
Private Declare Function SHGetPathFromIDList Lib "Shell32" _ (ByVal lngIDList As Long, ByVal lpBuffer As String) As Long Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" _ (ByVal hwndOwner As Long, ByVal nFolder As Integer, _ plngIDl As Long) As Long Public Enum ShellSpecialFolderConstants tsDESKTOP = 0& 'Alle Ressourcen ab Desktop tsProgramme = &H2& 'Startmenü Programme (aktueller Benutzer) tsDrucker = &H4& 'Drucker tsEigeneDateien = &H5& 'Eigene Dateien (aktueller Benutzer) tsFavoriten = &H6& 'Favoriten (aktueller Benutzer) tsSTARTMENU = &HB& 'Gesamtes Startmenü (aktueller Benutzer) tsDesktopDir = &H10& 'Desktop (Ordner) (aktueller Benutzer) tsArbeitsplatz = &H11& 'Arbeitsplatz tsNetzwerkumgebung = &H12& 'Netzwerkumgebung tsNetzwerkumgebungDir = &H13& 'Netzwerkumgebung (Ordner) tsSchriften = &H14& 'Fonts (Ordner) tsVorlagen = &H15& 'Vorlagen (Ordner) tsGemStartmenu = &H16& 'Gesamtes Startmenü (alle Benutzer) tsGemStartmenuPrg = &H17& 'Startmenü Programme (alle Benutzer) tsGemAutostart = &H18& 'Autostart (Ordner) (alle Benutzer) tsGemDesktopDir = &H18& 'Desktop (Ordner) (alle Benutzer) tsAnwendungsdaten = &H1A& 'Anwendungsdaten (aktueller Benutzer) tsDruckumgebungDir = &H1B& 'Druckumgebung (Ordner) tsAltAutostart = &H1D& 'Altern. Autostart (Ordner) (aktueller Benutzer) tsGemAltAutostart = &H1E& 'Altern. Autostart (Ordner) (alle Benutzer) tsGemFavoriten = &H1F& 'Favoriten (alle Benutzer) tsInternetCache = &H20& 'Temp. Internet Files tsInternetCookies = &H21& 'Internet Cookies (Ordner) tsInternetVerlauf = &H22& 'Internet Verlauf (Ordner) End Enum Public Function GetSpecialFolder(FolderName As ShellSpecialFolderConstants) As String Dim lngID As Long Dim strPath As String Call SHGetSpecialFolderLocation(0, FolderName, lngID) If lngID Then strPath = Space(256) Call SHGetPathFromIDList(lngID, strPath) strPath = Left(strPath, InStr(strPath, Chr(0)) - 1) Else strPath = " - nicht definiert - " End If GetSpecialFolder = strPath End Function
 



  Download VB6
Projekt-Quellcode
Download
Demo-Exe

© '2000 by T. Schindzielorz