![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить путь к папке Documents and Settings ??? [D7, WinXP]
rolex © (2005-06-02 11:09:00)Как получить путь к папке Documents and Settings ???
Ученик (2005-06-05 22:15:00) [1]>Ученик (05.06.05 22:08) [17]
Пример на Delphi
function GetProfilesDirectory(
lpProfilesDir: PChar; // profile path buffer
var lpcchSize: DWord // size of profile path buffer
): Bool; stdcall; external 'userenv.dll' name 'GetProfilesDirectoryA';
procedure TForm1.Button1Click(Sender: TObject);
var
szBuffer: array[0..MAX_PATH] of Char;
dwSize: DWord;
begin
dwSize := MAX_PATH;
if GetProfilesDirectory(szBuffer, dwSize) then
ShowMessage(szBuffer)
end;
Ученик (2005-06-05 22:08:00) [2]>rolex (05.06.05 19:54) [16]
The GetProfilesDirectory function retrieves the path to the root directory where all user profiles are stored.
BOOL GetProfilesDirectory(
LPTSTR lpProfilesDir, // profile path buffer
LPDWORD lpcchSize // size of profile path buffer
);
The following is an example of the path returned by the GetProfilesDirectory function:
C:\Documents and Settings
Userenv.dll
rolex (2005-06-05 19:54:00) [3]
GetProfilesDirectory- а можно по подробнее?
Ученик (2005-06-05 15:57:00) [4]>rOOse © (05.06.05 15:42) [14]
Это будет работать для текущего пользователя
P.S. >rolex (02.06.05 11:09)
Еще можно использовать GetProfilesDirectory
rOOse (2005-06-05 15:42:00) [5]GetTempPath
Ученик (2005-06-05 14:50:00) [6]>Ученик (05.06.05 14:34) [12]
Похоже, там, не все пользователи :-(
Ученик (2005-06-05 14:34:00) [7]>rolex (05.06.05 14:01) [11]
Может быть через обработку HKEY_USERS,
HKEY_USERS\????\Environment
rolex (2005-06-05 14:01:00) [8]Нужно вывести список папок с временными файлами для всех пользователей.
Anatoly Podgoretsky (2005-06-05 13:12:00) [9]А какой вопрос?
rolex (2005-06-05 13:09:00) [10]Ну и как тогда решить вопрос?
Anatoly Podgoretsky (2005-06-05 12:40:00) [11]Gero © (02.06.05 15:41) [5]
А тогда о чем говорить.
rolex (05.06.05 12:27) [7]
Ересь, папка TEMP конкретного пользователя может быть где угодно. Это определяется не папкой, а переменной пользователя.
rolex (2005-06-05 12:27:00) [12]Я почему спрашиваю, передомной следующая задача:
Нужно вывести список папок с временными файлами для всех пользователей.
Я это думаю сделать так:
Получаю диск, на котором установлена винда.
К этому диску приписываю +'Documents and Settings'.
Далее из папки Documents and Settings для каждой подпапки (а подпапки - это пользователи) приписываю '\Local Settings\Temp'.
Как думаете, могут ли быть исключения?
К примеру, папка Documents and Settings будет называться по другому или находиться в другом месте, или может ещё что-нибудь?
wal (2005-06-02 16:22:00) [13]\\ads\dfs\profiles\wal\MyDocuments
Так у меня выглядит путь к "Моим документам", какую часть этого считать "Documents and Settings"?
Если ее просто считать папкой, то поиском FindFirst(Next), если же придавать этой папке какой-то специфический смысл, то сначала его (этот смысл) определить нужно. Сама папка "С:\Documents and Settings", создаваемая при установке, никакого специфического смысла не имеет.
С уважением.
Gero (2005-06-02 15:41:00) [14]
> 1. Берем для текущего юзера и для All Users.
> 2. Выделяем общую часть - это и будет Documents and Settings.
Путь может быть различен для разных пользователей.
Юрий Зотов (2005-06-02 15:23:00) [15]> rolex (02.06.05 11:17) [3]
> SHGetSpecialFolderPath там нету пути на конкретно Documents
> and Settings!
> Есть только Documents and Settings\пользователь\спец. папки
Естественно. Его и не должно быть - это же не конечная, а промежуточная папка. Но почему бы не сделать, например, так:
1. Берем для текущего юзера и для All Users.
2. Выделяем общую часть - это и будет Documents and Settings.
rolex (2005-06-02 11:17:00) [16]SHGetSpecialFolderPath там нету пути на конкретно Documents and Settings!
Есть только Documents and Settings\пользователь\спец. папки
Cosinus (2005-06-02 11:16:00) [17]А не это разве
SHGetSpecialFolderLocation + SHGetPathFromIDList?
Юрий Зотов (2005-06-02 11:13:00) [18]См. SHGetSpecialFolderPath