Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Mustang92
3 / 3 / 1
Регистрация: 24.04.2011
Сообщений: 150
#1

Получить %appdata% юзера - C++

13.09.2012, 22:53. Просмотров 1356. Ответов 6
Метки нет (Все метки)

Здравствуйте, возникла следующая проблема: запущена служба c аккаунта Local Service, хочется получить полный путь к папке %appdata% юзера, а он возвращает %appdata% самой службы, т.е. C:\Windows\system32\systemprofile. Подскажите, пожалуйста, как получить путь к папке %appdata% юзера?!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить %appdata% юзера (C++):

Открыть файл в папке AppData\Local - C++
Всем доброго времени суток! Вот мои последние изыскания: #pragma once #include <iostream> #include <cstdlib> #include...

Замена %APPDATA%, %WINDIR% и т.п. в строке на реальные каталоги - C++
Здравствуйте! Нужно отлавливать в строках шаблоны типа %APPDATA%, %WINDIR% и т.п. Заменять их на реальные каталоги системы и втыкать...

Отловить момент логина юзера в NT/2000, какое сообщение? - C++
Нужно поймать момент когда пользователь логинится, блокирует станцию Какие сообщения при этом посылаются системой?

Нужно что бы если в текстбокс не вводиться текст, то срабатывала исключительная ситуация, которая просила бы юзера заполнить его. - C++
Нужно что бы если в текстбокс не вводиться текст, то срабатывала исключительная ситуация, которая просила бы юзера заполнить его. ...

Как получить доступ к папке AppData - C#
Помогите новичку. Не могу понять как получить доступ к папке AppData. Делал так: string pth =...

Как получить путь к AppData C++/CLI - C++/CLI
Клакаю на VC2010, в среде C++/CLI. Мне нужна функция, возвращающая путь к раб. столу, аппдата и т.д. ...

6
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
14.09.2012, 06:43 #2
а если на компе будет 100 юзеров, путь к папке %appdata% какого из них надо будет возвратить?
0
-=ЮрА=-
Заблокирован
Автор FAQ
14.09.2012, 12:48 #3
Mustang92, существует специальная функция для экстракта стандартных каталогово системы SHGetSpecialFolderLocation
Ниже код возвращающий через MessageBox путь к каталогу appdata для текущего пользователя
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <windows.h>
#include <shlobj.h>
 
int main()
{
    LPITEMIDLIST pAPPData            = {0};
    char         szAPPData[MAX_PATH] = {0};
    if(!SUCCEEDED(SHGetSpecialFolderLocation(NULL, CSIDL_APPDATA , &pAPPData)))
        printf("SHGetSpecialFolderLocation ERROR : %s\n",strerror(GetLastError()));
    else
    if(!SUCCEEDED(SHGetPathFromIDList(pAPPData, szAPPData)))
        printf("SHGetPathFromIDList ERROR : %s\n",strerror(GetLastError()));
    else
        MessageBox(NULL,szAPPData,"APPDATAPath",MAX_PATH);
    return 0;
}
0
Миниатюры
Получить %appdata% юзера  
Mustang92
3 / 3 / 1
Регистрация: 24.04.2011
Сообщений: 150
14.09.2012, 23:50  [ТС] #4
к сожалению возвращает %Appdata% службы
0
-=ЮрА=-
Заблокирован
Автор FAQ
15.09.2012, 08:23 #5
Цитата Сообщение от Mustang92 Посмотреть сообщение
к сожалению возвращает %Appdata% службы
- он возвращает APPDATA для текущего юзера, при логине под следующим юзером вернёт путь к его APPDATA.
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
15.09.2012, 11:00 #6
ExpandEnvironmentStringsForUser http://msdn.microsoft.com/en-us/library/bb762275.aspx
и
ExpandEnvironmentStrings http://msdn.microsoft.com/en-us/library/ms724265.aspx

С их же помощью можно получить все прочие пути.

Юра, ты забыл pragma(Shell32.lib) в исходнике или в библиотеки добавить её.
1
-=ЮрА=-
Заблокирован
Автор FAQ
15.09.2012, 11:07 #7
Цитата Сообщение от Deviaphan Посмотреть сообщение
Юра, ты забыл pragma(Shell32.lib) в исходнике или в библиотеки добавить её.
- MSVS и так всё подключит возможно DevC что то попросит, на счёт Expand ну наверное да можно, я как то и не вспомнил это вариант ExpandEnvironmentStrings, а вот эту функцию никогда не использовал ExpandEnvironmentStringsForUser - за это плюсую
0
15.09.2012, 11:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2012, 11:07
Привет! Вот еще темы с ответами:

MySQL Получить id юзера - PHP БД
$query = (&quot;SELECT id FROM users WHERE login = '$login' and password='$password'&quot;); $sql = mysql_query($query); Вот получается мы...

Насколько точно скрипт в примере определит IP адрес юзера, агент юзера? - PHP
вот собственно сам скрипт: &lt;? $ip=false; if(isset($_SERVER) &amp;&amp; $_SERVER!='127.0.0.1' &amp;&amp;...

Загрузка изображения для профиля юзера в одном контроллере с загрузкой данных юзера - C# ASP.NET
Алгоритм таков: 1. При добавлении клиента необходимо загрузить фото 2. Загружаю 3. Заполняю данные 4. Жму Create 5. Изображение...

Как добавить в DirectoryEdit1.Text путь к папке юзера, если имя юзера кириллицей? - Lazarus
Делаю такDirectoryEdit1.Text:=GetEnvironmentVariable('USERPROFILE') выдает вопросительные знаки вместо кириллицы


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru