Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.01;
Скачать: CL | DM;

Вниз

Как программно получить путь до папки Application Data для пользо   Найти похожие ветки 

 
bzzz ©   (2009-09-23 06:36) [0]

Есть задача, программно получить путь до папки Application Data для пользователя LocalService?

Для текущего пользователя это можно сделать вот так:


 PItemID : PItemIDList;
 ansiSbuf : array[0..MAX_PATH] of char;
 AppData : String;
 
 SHGetSpecialFolderLocation( Handle, CSIDL_APPDATA, PItemID );
 SHGetPathFromIDList( PItemID, @ansiSbuf[0] );
 AppData := ansiSbuf;


А как сделать тоже самое для пользователя LocalService?


 
clickmaker ©   (2009-09-23 13:04) [1]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList


 
__Алексей__   (2009-09-23 17:56) [2]

Вот так:

function GetSpecialFolderPath(FolderID: Cardinal): string;
(*  CSIDL_PERSONAL, { My Documents }
 CSIDL_APPDATA, { Application Data, new for NT4 }
 CSIDL_LOCAL_APPDATA, { non roaming, user\Local Settings\Application Data }
 CSIDL_INTERNET_CACHE,
 CSIDL_COOKIES,
 CSIDL_HISTORY,
 CSIDL_COMMON_APPDATA, { All Users\Application Data }
 CSIDL_WINDOWS, { GetWindowsDirectory() }
 CSIDL_SYSTEM, { GetSystemDirectory() }
 CSIDL_PROGRAM_FILES, { C:\Program Files }
 CSIDL_MYPICTURES, { My Pictures, new for Win2K }
 CSIDL_PROGRAM_FILES_COMMON, { C:\Program Files\Common }
 CSIDL_COMMON_DOCUMENTS, { All Users\Documents }
 CSIDL_FLAG_CREATE, { new for Win2K, or this in to force creation of folder }
 CSIDL_COMMON_ADMINTOOLS, { All Users\Start Menu\Programs\Administrative Tools }
 CSIDL_ADMINTOOLS); { <user name>\Start Menu\Programs\Administrative Tools }
 *)
var S: PChar;
 T, F: Cardinal;
begin
 T := 0; F := 0;
 GetMem(S, Max_Path);
 try
   SHFolder.SHGetFolderPath(0, FolderID, T, F, S);
   result := s;
 finally
   FreeMem(S, Max_Path);
 end;
end;


Использую для обмена настройками сервиса и консоли. Общая папка для всех пользователей. Ваш случай с LocalService и есть такой случай.



Страницы: 1 вся ветка

Текущий архив: 2012.01.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1316618998
Мемоза
2011-09-21 19:29
2012.01.01
Как написать на Дельфи эмулятор игровой приставки NES?


3-1269357337
dima_q
2010-03-23 18:15
2012.01.01
Информирование клиентов базы.


15-1315701740
Думкин_
2011-09-11 04:42
2012.01.01
Игоря Шевченко, С Юбилеем!


15-1315941054
Медвежонок Пятачок
2011-09-13 23:10
2012.01.01
кургинян о 911 как бы совсем без конспирологии


3-1269350767
12
2010-03-23 16:26
2012.01.01
ODAC/ запомнить и восстановить текущее положение в dataset