Dossier spéciaux de Windows

Programmation d'applications complexes
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Dossier spéciaux de Windows

Message par Le Soldat Inconnu »

Donc voila, je remets à jour un ancien code du forum pour l'améliorer et essayer de contourner certain problème avec Vista.

sous vista, quelqu'un peut me donner le contenu de la fenêtre de debug

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu 
; Version de PB : 4.3
; 
; Explication du programme : 
; Récupérer le nom, l'adresse et l'icône des dossiers spéciaux de windows 

ProcedureDLL.s GetSpecialFolderLocation2(Valeur.l) ; Récupère l'adresse d'un dossier spécifique de Windows 
  Protected SpecialFolderLocation.s, Dossier_ID.l 
  If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0 
    SpecialFolderLocation = Space(#MAX_PATH) 
    SHGetPathFromIDList_(Dossier_ID, @SpecialFolderLocation)
    If SpecialFolderLocation 
      If Right(SpecialFolderLocation, 1) <> "\" 
        SpecialFolderLocation + "\" 
      EndIf 
    EndIf 
  EndIf 
  ProcedureReturn SpecialFolderLocation 
EndProcedure

ProcedureDLL.s GetSpecialFolderName2(Valeur.l) ; Récupère le nom d'un dossier spécifique de Windows 
  Protected Dossier.SHFILEINFO, Dossier_ID.l 
  If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0 
    SHGetFileInfo_(Dossier_ID, 0, @Dossier, SizeOf(SHFILEINFO), #SHGFI_PIDL | #SHGFI_DISPLAYNAME) 
  EndIf
  ProcedureReturn PeekS(@Dossier\szDisplayName )
EndProcedure 

ProcedureDLL.l GetSpecialFolderSmallIcon2(Valeur.l) ; Récupère l'icône 16*16 d'un dossier spécifique de Windows 
  Protected Dossier.SHFILEINFO, Dossier_ID.l, Icone 
  If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0 
    SHGetFileInfo_(Dossier_ID, 0, @Dossier, SizeOf(SHFILEINFO), #SHGFI_ICON | #SHGFI_PIDL | #SHGFI_SMALLICON) 
  EndIf 
  ProcedureReturn Dossier\hIcon 
EndProcedure 

ProcedureDLL.l GetSpecialFolderLargeIcon2(Valeur.l) ; Récupère l'icône 32*32 d'un dossier spécifique de Windows 
  Protected Dossier.SHFILEINFO, Dossier_ID.l, Icone 
  If SHGetSpecialFolderLocation_(0, Valeur, @Dossier_ID) = 0 
    SHGetFileInfo_(Dossier_ID, 0, @Dossier, SizeOf(SHFILEINFO), #SHGFI_ICON | #SHGFI_PIDL | #SHGFI_LARGEICON) 
  EndIf 
  ProcedureReturn Dossier\hIcon 
EndProcedure 



;- Programme principal 

; Création de la fenêtre et de la GadgetList 
If OpenWindow(0, 0, 0, 800, 300, "Dossiers spéciaux", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0 Or CreateGadgetList(WindowID(0)) = 0 
  End
EndIf

; On crée un liste 
ListIconGadget(1, 0, 0, 800, 200, "Valeur", 60, #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_FullRowSelect) 
AddGadgetColumn(1, 1, "Nom", 150) 
AddGadgetColumn(1, 2, "Adresse du dossier", 560) 

; On liste tous les dossier systèmes récupérables 
For n = 0 To 200 
  Nom.s = GetSpecialFolderName2(n) ; On récupère le nom du dossier 
  Adresse.s = GetSpecialFolderLocation2(n) ; On récupère l'adresse du dossier 
  If Nom
    If Adresse = "" ; Affichage dans le debugger des dossiers
      Debug RSet(Str(n), 2, "0") + "     Pas de dossier, il s'agit de : " + Nom
    Else
      Debug RSet(Str(n), 2, "0") + "     " + Adresse
    EndIf
    AddGadgetItem(1, -1, Str(n) + Chr(10) + Nom + Chr(10) + Adresse) ; On affiche 
  EndIf 
Next 

; On affiche l'icône du premier élément 
SetGadgetState(1, 0) ; on sélectionne le premier élément 
TextGadget(4, 5, 215, 200, 15, "Icône du dossier sélectionné :") 
ImageGadget(2, 5, 235, 16, 16, GetSpecialFolderSmallIcon2(0)) ; en 16 * 16 
ImageGadget(3, 50, 235, 32, 32, GetSpecialFolderLargeIcon2(0)) ; en 32 * 32 

Repeat 
  Event = WaitWindowEvent() 
  
  If Event = #PB_Event_Gadget 
    Select EventGadget() ; Gadgets 
      Case 1 
        Select EventType()
          Case #PB_EventType_Change
            Position = GetGadgetState(1) 
            If Position >= 0 
              Valeur = Val(GetGadgetItemText(1, Position, 0)) 
              SetGadgetState(2, GetSpecialFolderSmallIcon2(Valeur)) 
              SetGadgetState(3, GetSpecialFolderLargeIcon2(Valeur)) 
            EndIf 
          Case #PB_EventType_LeftDoubleClick
            Position = GetGadgetState(1) 
            If Position >= 0 
              Debug GetGadgetItemText(1, Position, 2)
              RunProgram("explorer.exe", "/e,/n," + Chr(34) + GetGadgetItemText(1, Position, 2) + Chr(34), "")
            EndIf 
        EndSelect
        
    EndSelect 
  EndIf 
  
Until Event = #PB_Event_CloseWindow 

End 




; Voici la liste des valeurs obtenues sous Windows XP (Certaines valeurs n'ont pas de dossier sous d'autres version de Windows) 

; 00     C:\Documents And Settings\Le Soldat Inconnu\Bureau\ 
; 01     Pas de dossier, il s'agit de : Internet Explorer 
; 02     C:\Documents And Settings\Le Soldat Inconnu\Menu Démarrer\Programmes\ 
; 03     Pas de dossier, il s'agit de : Panneau de configuration 
; 04     Pas de dossier, il s'agit de : Imprimantes et télécopieurs 
; 05     C:\Documents And Settings\Le Soldat Inconnu\Mes Documents\ 
; 06     C:\Documents And Settings\Le Soldat Inconnu\Favoris\ 
; 07     C:\Documents And Settings\Le Soldat Inconnu\Menu Démarrer\Programmes\Démarrage\ 
; 08     C:\Documents And Settings\Le Soldat Inconnu\Recent\ 
; 09     C:\Documents And Settings\Le Soldat Inconnu\SendTo\ 
; 10     Pas de dossier, il s'agit de : Corbeille 
; 11     C:\Documents And Settings\Le Soldat Inconnu\Menu Démarrer\ 
; 13     C:\Documents And Settings\Le Soldat Inconnu\Mes Documents\Ma musique\ 
; 16     C:\Documents And Settings\Le Soldat Inconnu\Bureau\ 
; 17     Pas de dossier, il s'agit de : Poste de travail 
; 18     Pas de dossier, il s'agit de : Favoris réseau 
; 19     C:\Documents And Settings\Le Soldat Inconnu\Voisinage réseau\ 
; 20     C:\WINDOWS\Fonts\ 
; 21     C:\Documents And Settings\Le Soldat Inconnu\Modèles\ 
; 22     C:\Documents And Settings\All Users\Menu Démarrer\ 
; 23     C:\Documents And Settings\All Users\Menu Démarrer\Programmes\ 
; 24     C:\Documents And Settings\All Users\Menu Démarrer\Programmes\Démarrage\ 
; 25     C:\Documents And Settings\All Users\Bureau\ 
; 26     C:\Documents And Settings\Le Soldat Inconnu\Application Data\ 
; 27     C:\Documents And Settings\Le Soldat Inconnu\Voisinage D'impression\ 
; 28     C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Application Data\ 
; 31     C:\Documents And Settings\All Users\Favoris\ 
; 32     C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Temporary Internet Files\ 
; 33     C:\Documents And Settings\Le Soldat Inconnu\Cookies\ 
; 34     C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Historique\ 
; 35     C:\Documents And Settings\All Users\Application Data\ 
; 36     C:\WINDOWS\ 
; 37     C:\WINDOWS\system32\ 
; 38     C:\Program Files\ 
; 39     C:\Documents And Settings\Le Soldat Inconnu\Mes Documents\Mes images\ 
; 40     C:\Documents And Settings\Le Soldat Inconnu\ 
; 41     C:\WINDOWS\system32\ 
; 43     C:\Program Files\Fichiers communs\ 
; 45     C:\Documents And Settings\All Users\Modèles\ 
; 46     C:\Documents And Settings\All Users\Documents\ 
; 47     C:\Documents And Settings\All Users\Menu Démarrer\Programmes\Outils D'administration\ 
; 49     Pas de dossier, il s'agit de : Connexions réseau 
; 54     C:\Documents And Settings\All Users\Documents\Mes images\ 
; 56     C:\WINDOWS\Resources\ 
; 59     C:\Documents And Settings\Le Soldat Inconnu\Local Settings\Application Data\Microsoft\CD Burning\ 
; 61     Pas de dossier, il s'agit de : Réseau 


; Voici la liste des valeurs obtenues sous Windows 98

; 00     C:\WINDOWS\Bureau\ 
; 01     Pas de dossier, il s'agit de : Internet explorer 
; 02     C:\WINDOWS\Menu Démarrer\Programmes\ 
; 03     Pas de dossier, il s'agit de : Panneau de configuration 
; 04     Pas de dossier, il s'agit de : Imprimantes et télécopieurs 
; 05     C:\Mes documents\ 
; 06     C:\WINDOWS\Favoris\ 
; 07     C:\WINDOWS\Menu Démarrer\Programmes\Démarrage\ 
; 08     C:\WINDOWS\Recent\ 
; 09     C:\WINDOWS\SendTo\ 
; 10     Pas de dossier, il s'agit de : Corbeille 
; 11     Menu Démarrer C:\WINDOWS\Menu Démarrer\ 
; 16     C:\WINDOWS\Bureau\ 
; 17     Pas de dossier, il s'agit de : Poste de travail 
; 18     Pas de dossier, il s'agit de : Favoris réseau 
; 19     C:\WINDOWS\Voisinage réseau\ 
; 20     C:\WINDOWS\FONTS\ 
; 21     C:\WINDOWS\ShellNew\ 
; 26     C:\WINDOWS\Application Data\ 
; 27     C:\WINDOWS\PrintHood\ 
; 32     C:\WINDOWS\Temporary Internet Files\ 
; 33     C:\WINDOWS\Cookies\ 
; 34     C:\WINDOWS\Historique\ 
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

00 C:\Users\jj\Desktop\
01 Pas de dossier, il s'agit de : Internet Explorer
02 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\
03 Pas de dossier, il s'agit de : Panneau de configuration
04 Pas de dossier, il s'agit de : Imprimantes
05 C:\Users\jj\Documents\
06 C:\Users\jj\Favorites\
07 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
08 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Recent\
09 C:\Users\jj\AppData\Roaming\Microsoft\Windows\SendTo\
10 Pas de dossier, il s'agit de : Corbeille
11 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Start Menu\
13 C:\Users\jj\Music\
14 C:\Users\jj\Videos\
16 C:\Users\jj\Desktop\
17 Pas de dossier, il s'agit de : Ordinateur
18 Pas de dossier, il s'agit de : Réseau
19 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
20 C:\Windows\Fonts\
21 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Templates\
22 C:\ProgramData\Microsoft\Windows\Start Menu\
23 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\
24 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\
25 C:\Users\Public\Desktop\
26 C:\Users\jj\AppData\Roaming\
27 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
28 C:\Users\jj\AppData\Local\
29 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
30 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\
31 C:\Users\jj\Favorites\
32 C:\Users\jj\AppData\Local\Microsoft\Windows\Temporary Internet Files\
33 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Cookies\
34 C:\Users\jj\AppData\Local\Microsoft\Windows\History\
35 C:\ProgramData\
36 C:\Windows\
37 C:\Windows\System32\
38 C:\Program Files\
39 C:\Users\jj\Pictures\
40 C:\Users\jj\
41 C:\Windows\System32\
42 C:\Program Files\
43 C:\Program Files\Common Files\
44 C:\Program Files\Common Files\
45 C:\ProgramData\Microsoft\Windows\Templates\
46 C:\Users\Public\Documents\
47 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
48 C:\Users\jj\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
49 Pas de dossier, il s'agit de : Connexions réseau
53 C:\Users\Public\Music\
54 C:\Users\Public\Pictures\
55 C:\Users\Public\Videos\
56 C:\Windows\Resources\
59 C:\Users\jj\AppData\Local\Microsoft\Windows\Burn\Burn\
61 Pas de dossier, il s'agit de : Réseau
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

ok, donc tout marche bien.

ce qui serait bien maintenant, ce serait que la fonction GetSpecialFolderLocation retourne le CLSID des dossiers type panneau de configuration :)

Je ne sais pas si c'est possible, je suis en train de regarder, mais je dis pas non pour un coup de main :roll: :wink:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Extrait du fichier shlObj.h de la doc SDK installé sur mon ordi (mon chemin : C:\Program Files\Microsoft SDKs\Windows\v6.0\Include)
// SHGetSpecialFolderLocation
//
// Caller should use SHGetMalloc To obtain an allocator that can free the pidl
//
// registry entries For special paths are kept in :
#define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders")


#define CSIDL_DESKTOP 0x0000 // <desktop>
#define CSIDL_INTERNET 0x0001 // Internet Explorer (icon on desktop)
#define CSIDL_PROGRAMS 0x0002 // Start Menu\Programs
#define CSIDL_CONTROLS 0x0003 // My Computer\Control Panel
#define CSIDL_PRINTERS 0x0004 // My Computer\Printers
#define CSIDL_PERSONAL 0x0005 // My Documents
#define CSIDL_FAVORITES 0x0006 // <user name>\Favorites
#define CSIDL_STARTUP 0x0007 // Start Menu\Programs\Startup
#define CSIDL_RECENT 0x0008 // <user name>\Recent
#define CSIDL_SENDTO 0x0009 // <user name>\SendTo
#define CSIDL_BITBUCKET 0x000a // <desktop>\Recycle Bin
#define CSIDL_STARTMENU 0x000b // <user name>\Start Menu
#define CSIDL_MYDOCUMENTS CSIDL_PERSONAL // Personal was just a silly name For My Documents
#define CSIDL_MYMUSIC 0x000d // "My Music" folder
#define CSIDL_MYVIDEO 0x000e // "My Videos" folder
#define CSIDL_DESKTOPDIRECTORY 0x0010 // <user name>\Desktop
#define CSIDL_DRIVES 0x0011 // My Computer
#define CSIDL_NETWORK 0x0012 // Network Neighborhood (My Network Places)
#define CSIDL_NETHOOD 0x0013 // <user name>\nethood
#define CSIDL_FONTS 0x0014 // windows\fonts
#define CSIDL_TEMPLATES 0x0015
#define CSIDL_COMMON_STARTMENU 0x0016 // All Users\Start Menu
#define CSIDL_COMMON_PROGRAMS 0X0017 // All Users\Start Menu\Programs
#define CSIDL_COMMON_STARTUP 0x0018 // All Users\Startup
#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 // All Users\Desktop
#define CSIDL_APPDATA 0x001a // <user name>\Application Data
#define CSIDL_PRINTHOOD 0x001b // <user name>\PrintHood

#ifndef CSIDL_LOCAL_APPDATA
#define CSIDL_LOCAL_APPDATA 0x001c // <user name>\Local Settings\Applicaiton Data (non roaming)
#endif // CSIDL_LOCAL_APPDATA

#define CSIDL_ALTSTARTUP 0x001d // non localized startup
#define CSIDL_COMMON_ALTSTARTUP 0x001e // non localized common startup
#define CSIDL_COMMON_FAVORITES 0x001f

#ifndef _SHFOLDER_H_
#define CSIDL_INTERNET_CACHE 0x0020
#define CSIDL_COOKIES 0x0021
#define CSIDL_HISTORY 0x0022
#define CSIDL_COMMON_APPDATA 0x0023 // All Users\Application Data
#define CSIDL_WINDOWS 0x0024 // GetWindowsDirectory()
#define CSIDL_SYSTEM 0x0025 // GetSystemDirectory()
#define CSIDL_PROGRAM_FILES 0x0026 // C:\Program Files
#define CSIDL_MYPICTURES 0x0027 // C:\Program Files\My Pictures
#endif // _SHFOLDER_H_

#define CSIDL_PROFILE 0x0028 // USERPROFILE
#define CSIDL_SYSTEMX86 0x0029 // x86 system directory on RISC
#define CSIDL_PROGRAM_FILESX86 0x002a // x86 C:\Program Files on RISC

#ifndef _SHFOLDER_H_
#define CSIDL_PROGRAM_FILES_COMMON 0x002b // C:\Program Files\Common
#endif // _SHFOLDER_H_

#define CSIDL_PROGRAM_FILES_COMMONX86 0x002c // x86 Program Files\Common on RISC
#define CSIDL_COMMON_TEMPLATES 0x002d // All Users\Templates

#ifndef _SHFOLDER_H_
#define CSIDL_COMMON_DOCUMENTS 0x002e // All Users\Documents
#define CSIDL_COMMON_ADMINTOOLS 0x002f // All Users\Start Menu\Programs\Administrative Tools
#define CSIDL_ADMINTOOLS 0x0030 // <user name>\Start Menu\Programs\Administrative Tools
#endif // _SHFOLDER_H_

#define CSIDL_CONNECTIONS 0x0031 // Network And Dial-up Connections
#define CSIDL_COMMON_MUSIC 0x0035 // All Users\My Music
#define CSIDL_COMMON_PICTURES 0x0036 // All Users\My Pictures
#define CSIDL_COMMON_VIDEO 0x0037 // All Users\My Video
#define CSIDL_RESOURCES 0x0038 // Resource Direcotry

#ifndef _SHFOLDER_H_
#define CSIDL_RESOURCES_LOCALIZED 0x0039 // Localized Resource Direcotry
#endif // _SHFOLDER_H_

#define CSIDL_COMMON_OEM_LINKS 0x003a // Links To All Users OEM specific apps
#define CSIDL_CDBURN_AREA 0x003b // USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
// unused 0x003c
#define CSIDL_COMPUTERSNEARME 0x003d // Computers Near Me (computered from Workgroup membership)

#ifndef _SHFOLDER_H_
#define CSIDL_FLAG_CREATE 0x8000 // combine With CSIDL_ value To force folder creation in SHGetFolderPath()
#endif // _SHFOLDER_H_

#define CSIDL_FLAG_DONT_VERIFY 0x4000 // combine With CSIDL_ value To Return an unverified folder path
#define CSIDL_FLAG_DONT_UNEXPAND 0x2000 // combine With CSIDL_ value To avoid unexpanding environment variables
#if (NTDDI_VERSION >= NTDDI_WINXP)
#define CSIDL_FLAG_NO_ALIAS 0x1000 // combine With CSIDL_ value To insure non-alias versions of the pidl
#define CSIDL_FLAG_PER_USER_INIT 0x0800 // combine With CSIDL_ value To indicate per-user init (eg. upgrade)
#endif // NTDDI_WINXP
#define CSIDL_FLAG_MASK 0xFF00 // mask For all possible flag values
et la traduction faite par un outil que je me suis écrit il y a quelque temps, pas trop au point mais ici le résultat est pas mal

Code : Tout sélectionner

#CSIDL_DESKTOP = $0000        ; <DESKTOP>
#CSIDL_PROGRAMS = $0002        ; START MENU\PROGRAMS
#CSIDL_CONTROLS = $0003        ; MY COMPUTER\CONTROL PANE
#CSIDL_PRINTERS = $0004        ; MY COMPUTER\PRINTERS
#CSIDL_PERSONAL = $0005        ; MY DOCUMENTS
#CSIDL_FAVORITES = $0006        ; <USER NAME>\FAVORITES
#CSIDL_STARTUP = $0007        ; START MENU\PROGRAMS\STARTUP
#CSIDL_RECENT = $0008        ; <USER NAME>\RECENT
#CSIDL_SENDTO = $0009        ; <USER NAME>\SENDTO
#CSIDL_BITBUCKET = $000A        ; <DESKTOP>\RECYCLE BIN
#CSIDL_STARTMENU = $000B        ; <USER NAME>\START MEN
#CSIDL_MYDOCUMENTS = #CSIDL_PERSONAL ;  Personal was just a silly name For My Documents
#CSIDL_MYMUSIC = $000D        ; "MY MUSIC" FOLDER
#CSIDL_MYVIDEO = $000E        ; "MY VIDEOS" FOLDER
#CSIDL_DESKTOPDIRECTORY = $0010        ; <USER NAME>\DESKTOP
#CSIDL_DRIVES = $0011        ; MY COMPUTER
#CSIDL_NETHOOD = $0013        ; <USER NAME>\NETHOOD
#CSIDL_FONTS = $0014        ; WINDOWS\FONTS
#CSIDL_TEMPLATES = $0015
#CSIDL_COMMON_STARTMENU = $0016        ; ALL USERS\START MEN
#CSIDL_COMMON_PROGRAMS = $0017        ; ALL USERS\START MENU\PROGRAMS
#CSIDL_COMMON_STARTUP = $0018        ; ALL USERS\STARTUP
#CSIDL_COMMON_DESKTOPDIRECTORY = $0019        ; ALL USERS\DESKTOP
#CSIDL_APPDATA = $001A        ; <USER NAME>\APPLICATION DATA
#CSIDL_PRINTHOOD = $001B        ; <USER NAME>\PRINTHOOD
#CSIDL_ALTSTARTUP = $001D        ; NON LOCALIZED STARTUP
#CSIDL_COMMON_ALTSTARTUP = $001E        ; NON LOCALIZED COMMON STARTUP
#CSIDL_COMMON_FAVORITES = $001F
#CSIDL_INTERNET_CACHE = $0020
#CSIDL_COOKIES = $0021
#CSIDL_HISTORY = $0022
#CSIDL_COMMON_APPDATA = $0023        ; ALL USERS\APPLICATION DATA
#CSIDL_PROGRAM_FILES = $0026        ; C:\PROGRAM FILES
#CSIDL_MYPICTURES = $0027        ; C:\PROGRAM FILES\MY PICTURES
#CSIDL_PROFILE = $0028        ; USERPROFILE
#CSIDL_SYSTEMX86 = $0029        ; X86 SYSTEM DIRECTORY ON RISC
#CSIDL_PROGRAM_FILESX86 = $002A        ; X86 C:\PROGRAM FILES ON RISC
#CSIDL_PROGRAM_FILES_COMMON = $002B        ; C:\PROGRAM FILES\COMMON
#CSIDL_PROGRAM_FILES_COMMONX86 = $002C        ; X86 PROGRAM FILES\COMMON ON RISC
#CSIDL_COMMON_TEMPLATES = $002D        ; ALL USERS\TEMPLATES
#CSIDL_COMMON_DOCUMENTS = $002E        ; ALL USERS\DOCUMENTS
#CSIDL_COMMON_ADMINTOOLS = $002F        ; ALL USERS\START MENU\PROGRAMS\ADMINISTRATIVE TOOLS
#CSIDL_ADMINTOOLS = $0030        ; <USER NAME>\START MENU\PROGRAMS\ADMINISTRATIVE TOOLS
#CSIDL_CONNECTIONS = $0031        ; NETWORK AND DIAL-UP CONNECTIONS
#CSIDL_COMMON_MUSIC = $0035        ; ALL USERS\MY MUSIC
#CSIDL_COMMON_PICTURES = $0036        ; ALL USERS\MY PICTURES
#CSIDL_COMMON_VIDEO = $0037        ; ALL USERS\MY VIDEO
#CSIDL_RESOURCES = $0038        ; RESOURCE DIRECOTRY
#CSIDL_RESOURCES_LOCALIZED = $0039        ; LOCALIZED RESOURCE DIRECOTRY
#CSIDL_COMMON_OEM_LINKS = $003A        ; LINKS TO ALL USERS OEM SPECIFIC APPS
#CSIDL_CDBURN_AREA = $003B        ; USERPROFILE\LOCAL SETTINGS\APPLICATION DATA\MICROSOFT\CD BURNING
#CSIDL_FLAG_DONT_VERIFY = $4000        ; COMBINE WITH CSIDL_ VALUE TO RETURN AN UNVERIFIED FOLDER PATH
#CSIDL_FLAG_DONT_UNEXPAND = $2000        ; COMBINE WITH CSIDL_ VALUE TO AVOID UNEXPANDING ENVIRONMENT VARIABLES
#CSIDL_FLAG_NO_ALIAS = $1000        ; COMBINE WITH CSIDL_ VALUE TO INSURE NON-ALIAS VERSIONS OF THE PID
#CSIDL_FLAG_MASK = $FF00        ; MASK FOR ALL POSSIBLE FLAG VALUES
Répondre