Вниз
Скачать: CL | DM;

Как получить путь к папке Documents and Settings ???   Найти похожие ветки 

← →
rolex   (2005-06-02 11:09) [0]

Как получить путь к папке Documents and Settings ???


← →
Юрий Зотов ©   (2005-06-02 11:13) [1]

См. SHGetSpecialFolderPath


← →
Cosinus ©   (2005-06-02 11:16) [2]

А не это разве SHGetSpecialFolderLocation + SHGetPathFromIDList ?


← →
rolex   (2005-06-02 11:17) [3]

SHGetSpecialFolderPath там нету пути на конкретно Documents and Settings!
Есть только Documents and Settings\пользователь\спец. папки


← →
Юрий Зотов ©   (2005-06-02 15:23) [4]

> rolex   (02.06.05 11:17) [3]
> SHGetSpecialFolderPath там нету пути на конкретно Documents
> and Settings!
> Есть только Documents and Settings\пользователь\спец. папки

Естественно. Его и не должно быть - это же не конечная, а промежуточная папка. Но почему бы не сделать, например, так:
1. Берем для текущего юзера и для All Users.
2. Выделяем общую часть - это и будет Documents and Settings.


← →
Gero ©   (2005-06-02 15:41) [5]


> 1. Берем для текущего юзера и для All Users.
> 2. Выделяем общую часть - это и будет Documents and Settings.

Путь может быть различен для разных пользователей.


← →
wal ©   (2005-06-02 16:22) [6]

\\ads\dfs\profiles\wal\MyDocuments

Так у меня выглядит путь к "Моим документам", какую часть этого считать "Documents and Settings"?
Если ее просто считать папкой, то поиском FindFirst(Next), если же придавать этой папке какой-то специфический смысл, то сначала его (этот смысл) определить нужно. Сама папка "С:\Documents and Settings", создаваемая при установке, никакого специфического смысла не имеет.

С уважением.


← →
rolex   (2005-06-05 12:27) [7]

Я почему спрашиваю, передомной следующая задача:
Нужно вывести список папок с временными файлами для всех пользователей.

Я это думаю сделать так:
Получаю диск, на котором установлена винда.
К этому диску приписываю +"Documents and Settings".
Далее из папки Documents and Settings для каждой подпапки (а подпапки - это пользователи) приписываю "\Local Settings\Temp".
Как думаете, могут ли быть исключения?
К примеру, папка Documents and Settings будет называться по другому или находиться в другом месте, или может ещё что-нибудь?


← →
Anatoly Podgoretsky ©   (2005-06-05 12:40) [8]

Gero ©   (02.06.05 15:41) [5]
А тогда о чем говорить.

rolex   (05.06.05 12:27) [7]
Ересь, папка TEMP конкретного пользователя может быть где угодно. Это определяется не папкой, а переменной пользователя.


← →
rolex   (2005-06-05 13:09) [9]

Ну и как тогда решить вопрос?


← →
Anatoly Podgoretsky ©   (2005-06-05 13:12) [10]

А какой вопрос?


← →
rolex   (2005-06-05 14:01) [11]

Нужно вывести список папок с временными файлами для всех пользователей.


← →
Ученик   (2005-06-05 14:34) [12]

>rolex   (05.06.05 14:01) [11]

Может быть через обработку HKEY_USERS,
HKEY_USERS\????\Environment


← →
Ученик   (2005-06-05 14:50) [13]

>Ученик   (05.06.05 14:34) [12]
Похоже, там, не все пользователи :-(


← →
rOOse ©   (2005-06-05 15:42) [14]

GetTempPath


← →
Ученик   (2005-06-05 15:57) [15]

>rOOse ©   (05.06.05 15:42) [14]
Это будет работать для текущего пользователя

P.S. >rolex   (02.06.05 11:09)
Еще можно использовать GetProfilesDirectory


← →
rolex   (2005-06-05 19:54) [16]

GetProfilesDirectory - а можно по подробнее?


← →
Ученик   (2005-06-05 22:08) [17]

>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



← →
Ученик   (2005-06-05 22:15) [18]

>Ученик   (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;




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

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.037 c
4-1117518497
Чапаев
2005-05-31 09:48
2005.07.31
WinExec


5-1091392355
int
2004-08-02 00:32
2005.07.31
OnPaint в наследнике


1-1121260743
webpauk
2005-07-13 17:19
2005.07.31
проблемы с кодировкой


1-1121015870
BBCHa
2005-07-10 21:17
2005.07.31
TService и визуализация форм


14-1121195396
WondeRu
2005-07-12 23:09
2005.07.31
Свобода = Одиночество?




   Наверх