Страница 1 из 1

Узнать путь к документам пользователя

Добавлено: 24 Апрель 2012, 19:14
Jornada
Каким образом можно получить путь к документам пользователя и к общим документам пользователей?
Если использовать SET UserProfile через CMD, то как вернуть результат в переменную?

Re: Узнать путь к документам пользователя

Добавлено: 24 Апрель 2012, 19:58
Дед Пахом
Если речь о C8, то смотрите хелп про "CSIDL Support"

Re: Узнать путь к документам пользователя

Добавлено: 24 Апрель 2012, 20:30
Jornada
речь о 6.3 9056 ))

Re: Узнать путь к документам пользователя

Добавлено: 24 Апрель 2012, 20:40
Дед Пахом
Ну тогда апишная SHGetKnownFolderPath.

Re: Узнать путь к документам пользователя

Добавлено: 24 Апрель 2012, 20:44
Jornada
А где прототип взять? Есть пример какой то?
Полистал гугл, там народ пишет что эта функция не везде работает..
Все таки можно как то вернуть результат SET UserProfile из CMD?

Re: Узнать путь к документам пользователя

Добавлено: 24 Апрель 2012, 22:50
Дед Пахом
[непечатное, вымарано модератором]мать! Ясен пень, не везде, "Minimum supported client: Windows Vista".SHGetFolderPath должна работать на 2К и XP. Прототип там элементарный (long, long, long, long, *cstring), long, raw, pascal, name('SHGetFolderPathA'), даже проверять неохота. Здесь: http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Про SET: выводите результат в файл (SET UserProfile > userprofile.txt) и читайте этот файл (у меня получилось "USERPROFILE=C:\Users\Mike")

Re: Узнать путь к документам пользователя

Добавлено: 25 Апрель 2012, 0:25
Jornada
Спасибо за варианты. Сделал через GetEnvironmentVar

Re: Узнать путь к документам пользователя

Добавлено: 25 Апрель 2012, 14:02
Shur
Все таки можно как то вернуть результат SET UserProfile из CMD?
Запускаем
set userprofile > file.txt
и разбираем полученный файл

Re: Узнать путь к документам пользователя

Добавлено: 26 Апрель 2012, 0:22
Admin
Shur писал(а):
Все таки можно как то вернуть результат SET UserProfile из CMD?
Запускаем
set userprofile > file.txt
и разбираем полученный файл
Некошерно :)
SHGetFolderPath - наше все.

Re: Узнать путь к документам пользователя

Добавлено: 26 Апрель 2012, 8:33
Shur
Дело не в кошерности. На вопрос:
Все таки можно как то вернуть результат ... из CMD?
я ответил: почему бы и нет.

Просто мой личный опыт мне говорит, что многие не помнят или не знают команды DOS. Нарисовать простенький bat-файл с циклом -- это проблема.
:) Пожинаем плоды всеобщей форточности.

Re: Узнать путь к документам пользователя

Добавлено: 26 Апрель 2012, 9:30
Admin
Shur писал(а):Пожинаем плоды всеобщей форточности.
Это да. Подпишусь!
Архиваторами в командной строке уже почти никто не умеет пользоваться и т.д.
Сам люблю CMD и макросы Far Manager

Re: Узнать путь к документам пользователя

Добавлено: 26 Апрель 2012, 9:52
Дед Пахом
А я первым предложил "SET UserProfile > userprofile.txt"

Re: Узнать путь к документам пользователя

Добавлено: 26 Апрель 2012, 15:28
Shur
А я первым предложил "SET UserProfile > userprofile.txt"
Да с удовольствием!

А с api-функциями...
С одной стороны стало проще, чем в DOSе с прерываниями работать.
С другой стороны, ну чего ж их так много-то?
:D

Re: Узнать путь к документам пользователя

Добавлено: 26 Апрель 2012, 19:31
Дед Пахом
А на мой вкус таки мало...