Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В какую папку можно сохранять конфиги программы? Как ее отыскать? [D7, XP]


kalexi ©   (2010-01-26 19:50:00) 

В висте и вше доступ к системным директориям запрещен, куда можно сохранять данные? Как программно определить путь к папке?
Например: C:\Users\Александр ?


Игорь   (2010-01-27 22:15:00) [1]

В CSIDL_APPDATA можно, у меня большинство установленных программ пишет туда


uses SHFolder;

var
 shellMalloc: IMalloc;
 ppidl: PItemIdList;
 PerDir: string;
begin
 ppidl:= nil;
 try
   if SHGetMalloc(shellMalloc) = NOERROR then
   begin
     SHGetSpecialFolderLocation(FrmMain.Handle, CSIDL_APPDATA, ppidl);
     SetLength(Result, MAX_PATH);
     if not SHGetPathFromIDList(ppidl, PChar(Result)) then
       Result:= ExtractFilePath(ParamStr(0))
     else
       SetLength(Result, lStrLen(PChar(Result)));
   end;
 finally
   if ppidl <> nil then
     shellMalloc.free(ppidl);
 end;


Папка :\Users\Admin\AppData\Roaming


turbouser   (2010-01-26 20:03:00) [2]

SHGetSpecialFolderLocation + CSIDL_PERSONAL + Google :=
http://www.delphisources.ru/pages/faq/base/special_folders_path.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо