Trouver les dossier spéciaux de windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 //ShlObj CSIDL_DESKTOP = $0000; CSIDL_INTERNET = $0001; CSIDL_PROGRAMS = $0002; CSIDL_CONTROLS = $0003; CSIDL_PRINTERS = $0004; CSIDL_PERSONAL = $0005; CSIDL_FAVORITES = $0006; CSIDL_STARTUP = $0007; CSIDL_RECENT = $0008; CSIDL_SENDTO = $0009; CSIDL_BITBUCKET = $000a; CSIDL_STARTMENU = $000b; CSIDL_DESKTOPDIRECTORY = $0010; CSIDL_DRIVES = $0011; CSIDL_NETWORK = $0012; CSIDL_NETHOOD = $0013; CSIDL_FONTS = $0014; CSIDL_TEMPLATES = $0015; CSIDL_COMMON_STARTMENU = $0016; CSIDL_COMMON_PROGRAMS = $0017; CSIDL_COMMON_STARTUP = $0018; CSIDL_COMMON_DESKTOPDIRECTORY = $0019; CSIDL_APPDATA = $001a; CSIDL_PRINTHOOD = $001b; CSIDL_ALTSTARTUP = $001d; CSIDL_COMMON_ALTSTARTUP = $001e; CSIDL_COMMON_FAVORITES = $001f; CSIDL_INTERNET_CACHE = $0020; CSIDL_COOKIES = $0021; CSIDL_HISTORY = $0022; // a ajouter CSIDL_COMMON_APPDATA = $0023; CSIDL_WINDOWS = $0024; CSIDL_SYSTEM = $0025; CSIDL_PROGRAM_FILES = $0026; CSIDL_MYPICTURES = $0027; CSIDL_PROFILE = $0028; CSIDL_SYSTEMX86 = $0029; CSIDL_PROGRAM_FILESX86 = $002A; CSIDL_PROGRAM_FILES_COMMON = $002B; CSIDL_PROGRAM_FILES_COMMONX86 = $002C; CSIDL_COMMON_TEMPLATES = $002D; CSIDL_COMMON_DOCUMENTS = $002E; CSIDL_COMMON_ADMINTOOLS = $002F; CSIDL_ADMINTOOLS = $0030; CSIDL_FLAG_CREATE = $8000; CSIDL_FLAG_DONT_VERIFY = $4000; CSIDL_FLAG_MASK = $FF00;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 uses ShlObj function GetWinFolder_V1(FolderConst: Integer):string; var RC : Integer; IDL : TSHItemID; begin result := ''; RC := SHGetSpecialFolderLocation(0, FolderConst, PItemIDList(IDL)); If RC = 0 Then begin Setlength(result,MAX_PATH); ZeroMemory(PChar(result),MAX_PATH); SHGetPathFromIDList(PItemIDList(IDL), PChar(result)); result:=Trim(result); end; end; function GetWinFolder_V2(FolderConst: Integer):string; begin Setlength(result,MAX_PATH); ZeroMemory(PChar(result),MAX_PATH); SHGetSpecialFolderPath(0,PChar(result),FolderConst,Longbool(false)); result:=Trim(result); end;









Répondre avec citation

t'inquiète, je ne vais pas t'embèter à chaque fois, ... la dernière c'est parce que c'était un code déjà vu déjà présent dans Delphi ... alors que là ce sont des Wrappers très pratique que tu peux considérer comme les TIENS ! 
Partager