Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.036 c
1-1121319495
ANB
2005-07-14 09:38
2005.07.31
Как убрать автопереключение на главное окно при показе хинта ?


1-1121367415
redlord
2005-07-14 22:56
2005.07.31
максимальная длинна пути к файлу


1-1121078051
nastya
2005-07-11 14:34
2005.07.31
TMessage


4-1117885575
Immortal
2005-06-04 15:46
2005.07.31
text rotate


1-1120682032
ronyn
2005-07-07 00:33
2005.07.31
Сохранение параметров и настроек программы при её закрытии