uses Shlobj; function SpecialFolder(Folder: Integer): String; var SFolder : pItemIDList; SpecialPath : Array[0..MAX_PATH] Of Char; begin SHGetFolderLocation(Form1.Handle, Folder, 0, SHGFP_TYPE_CURRENT, SFolder); SHGetPathFromIDList(SFolder, SpecialPath); Result := StrPas(SpecialPath); end; //Utilisation procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := SpecialFolder(CSIDL_APPDATA); end;@+