Вниз
Скачать: 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.027 c
14-1121063066
Ломброзо
2005-07-11 10:24
2005.07.31
Наводит на размышления


4-1117814871
MANIAC_K
2005-06-03 20:07
2005.07.31
Перехват сообщения...


4-1117438560
Гость2
2005-05-30 11:36
2005.07.31
Как добавить иконку в заголовок окна?


14-1121146430
cyborg
2005-07-12 09:33
2005.07.31
Бета-тестирование Longhorn началось


1-1121165114
Piter
2005-07-12 14:45
2005.07.31
Эмуляция нажатия мышкой




   Наверх