Главная страница
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.009 c
1-1278075174
ifmomax
2010-07-02 16:52
2012.01.01
Windows-service.Некорректное чтение бинарного файла.


4-1253673415
bzzz
2009-09-23 06:36
2012.01.01
Как программно получить путь до папки Application Data для пользо


2-1316667091
JamesQ
2011-09-22 08:51
2012.01.01
Word+Delphi


9-1188670996
dector
2007-09-01 22:23
2012.01.01
MUD исходник


15-1315889683
Inovet
2011-09-13 08:54
2012.01.01
С Днём программиста