Français
Source/ Codesnippets

Dateisystem Shgetspecialfolderlocation Systemordner

 
Systemordner im Dateisystem avec SHGetSpecialFolderLocation ermitteln
KompilierenMarqueSéparation
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)
/../../function-references/XProfan/waitinput/'>WaitInput
Autor ist ldr. pas bekannt.

Salve, iF.
 
26.07.2005  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.997 Views

Untitledvor 0 min.
AndreasS16.01.2019
Julian Schmidt26.08.2013
Stephan Sonneborn15.03.2012
Bert Lehnhoff07.06.2011
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie