Deutsch
Quelltexte/ Codesnippets

Dateisystem Shgetspecialfolderlocation Systemordner

 
Systemordner im Dateisystem mit SHGetSpecialFolderLocation ermitteln
KompilierenMarkierenSeparieren
Benötigt Profan 6.6 (wg. Konstanten);
bei Verzicht auf Konstanten auf jeden Fall 6.1 wegen Addr-Funktion
Achtung: Der gewünschte Ordner muß(!) auch im Dateisystem vorliegen
(Systemsteuerung klappt daher z.B. nicht)
Im Fehlerfall ist der Return-String leer
Ich hoffe(!), daß CoTaskMemFree in diesem Fall den vom System
reservierten Speicher freigibt.
Eigentlich müßte dies über die Free-Methode des IMalloc-Interface
erfolgen, aber das geht mit Profan leider nicht.
ole32.hlp läßt die Hoffnung nicht unbegründet erscheinen, aber sicher
bin ich nicht.
Def %CSIDL_DESKTOP 0
Def %CSIDL_PROGRAMS 2
Def %CSIDL_CONTROLS 3
Def %CSIDL_PRINTERS 4
Def %CSIDL_PERSONAL 5
Def %CSIDL_FAVORITES
Def %CSIDL_STARTUP 7
Def %CSIDL_RECENT 8
Def %CSIDL_SENDTO 9
Def %CSIDL_BITBUCKET 10
Def %CSIDL_STARTMENU 11
Def %CSIDL_DESKTOPDIRECTORY 16
Def %CSIDL_DRIVES 17
Def %CSIDL_NETWORK 18
Def %CSIDL_NETHOOD 19
Def %CSIDL_FONTS 20
Def %CSIDL_TEMPLATES 21
Def %CSIDL_COMMON_STARTMENU 22
Def %CSIDL_COMMON_PROGRAMS 23
Def %CSIDL_COMMON_STARTUP 24
Def %CSIDL_COMMON_DESKTOPDIRECTORY 25
Def %CSIDL_APPDATA 26
Def %CSIDL_PRINTHOOD 27
Def SHGetSpecialFolderLocation(3) ! SHELL32, SHGetSpecialFolderLocation
Def SHGetPathFromIDList(2) ! SHELL32, SHGetPathFromIDListA
Def CoTaskMemFree(1) ! OLE32, CoTaskMemFree
Declare buffer#

Proc GetSpecialFolder

    Parameters csidl%
    Declare lpidl&, result$
    Dim buffer#, 255

    If Equ(SHGetSpecialFolderLocation(GetActiveWindow(), CSIDL%, Addr(lpidl&)), 0)

        If Neq(SHGetPathFromIDList(lpidl&, buffer#), 0)

            Let result$ = String$(buffer#, 0)

        EndIf

    EndIf

    CoTaskMemFree(lpidl&)
    Dispose buffer#
    Return result$

EndProc

Beispiel
GetSpecialFolder %CSIDL_DESKTOP
Print Desktop-Ordner:, $(0)
GetSpecialFolder 6
Print Autostart-Ordner:, $(0)
WaitInput
Autor ist ldr. nicht bekannt.

Salve, iF.
 
26.07.2005  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.006 Betrachtungen

Unbenanntvor 0 min.
AndreasS16.01.2019
Julian Schmidt26.08.2013
Stephan Sonneborn15.03.2012
Bert Lehnhoff07.06.2011
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

iF (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie