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

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
#1

Получить директорию текущего пользователя в windows - C++ WinAPI

03.01.2016, 20:24. Просмотров 614. Ответов 12
Метки нет (Все метки)

Я хочу написать программу для полного бэкапа диска С и здесь такой вопрос: c:\\docs and settigns\Пользователь\ - Пользователь, если кто-то другой будет пользоваться программой то и будет другое имя пользователя. Может есть что-то на подобии c:\docs and settings\%currentuser%\ Я гуглил но как-то криво, может знаете как я могу обойтись без имени пользователя?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2016, 20:24     Получить директорию текущего пользователя в windows
Посмотрите здесь:
Как получить имя текущего пользователя Windows? C++ WinAPI
C++ WinAPI Нужно вывести на экран информацию про системную директорию и директорию windows
Определение текущего пользователя C++ WinAPI
C++ WinAPI Пароль текущего пользователя
Получить process id текущего приложения C++ WinAPI
Как получить адрес текущего окна зная его Хендл C++ WinAPI
C++ WinAPI Можно ли из токена получить имя пользователя?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23244 / 15235 / 4427
Регистрация: 22.10.2011
Сообщений: 27,095
Записей в блоге: 4
03.01.2016, 20:33     Получить директорию текущего пользователя в windows #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Используй SHGetSpecialFolderPath + CSIDL_PROFILE
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
03.01.2016, 21:38  [ТС]     Получить директорию текущего пользователя в windows #3
Взял для примера:
C++
1
2
3
4
5
6
7
8
9
10
11
TCHAR szPath[MAX_PATH];
 
if(SUCCEEDED(SHGetFolderPath(NULL, 
                             CSIDL_PERSONAL|CSIDL_FLAG_CREATE,
                             NULL,
                             0,
                             szPath)))
{
    PathAppend(szPath, TEXT("New Doc.txt"));
    HANDLE hFile = CreateFile(szPath, ...);
}
Но почему-то не работает, вставлял в _tmain()
Сразу не заметил, ошибки вылезли:
C++
1
2
test.cpp(72): error C3861: 'PathAppend': identifier not found
test.cpp(73): error C2059: syntax error : '...'
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
05.01.2016, 01:48  [ТС]     Получить директорию текущего пользователя в windows #4
спасибо
MaGaponov
11 / 11 / 6
Регистрация: 01.07.2015
Сообщений: 86
08.01.2016, 18:05     Получить директорию текущего пользователя в windows #5
C++
1
2
3
4
5
#include <stdlib.h>
...
system("cd /d c:");
system("cd documents and settings");
system("cd %username%");
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
20.01.2016, 22:09  [ТС]     Получить директорию текущего пользователя в windows #6
MaGaponov,
Цитата Сообщение от MaGaponov Посмотреть сообщение
C++
1
2
3
4
5
#include <stdlib.h>
...
system("cd /d c:");
system("cd documents and settings");
system("cd %username%");
пробывал вот так:
C++
1
2
3
4
5
6
7
8
    if (system("cd /d %USERPROFILE%\\Рабочий стол"))
   {
      cout << "good" << endl;
   }
   else
   {
      cout << "bad" << endl;
   }
Пишет bad постоянно
Почтальон
Модератор
357 / 279 / 50
Регистрация: 22.03.2015
Сообщений: 2,174
Завершенные тесты: 1
21.01.2016, 08:56     Получить директорию текущего пользователя в windows #7
Потому что кириллицей написано, попробуйте:
C++
1
if (system(L"cd /d %USERPROFILE%\\Рабочий стол"))
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
21.01.2016, 12:33  [ТС]     Получить директорию текущего пользователя в windows #8
Почтальон,
C++
1
2
error C2664: 'system' : cannot convert parameter 1 from 'const wchar_t [33]' to 'const char *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Почтальон
Модератор
357 / 279 / 50
Регистрация: 22.03.2015
Сообщений: 2,174
Завершенные тесты: 1
21.01.2016, 12:36     Получить директорию текущего пользователя в windows #9
vuchastyi, а почему не попробовали как volvo написал ?
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
21.01.2016, 12:37  [ТС]     Получить директорию текущего пользователя в windows #10
Почтальон, я пробывал, но оно что-то сложно для меня, ничего не пойму что? куда? Толковый пример найти не могу нашёл один и то он не работает
Почтальон
Модератор
357 / 279 / 50
Регистрация: 22.03.2015
Сообщений: 2,174
Завершенные тесты: 1
21.01.2016, 12:45     Получить директорию текущего пользователя в windows #11
Почитайте вот это Получение значений переменных сред
возможно что-то получится у вас
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
23.01.2016, 02:15  [ТС]     Получить директорию текущего пользователя в windows #12
Почтальон, и всё же там для C++ Builder У меня ничего не получилось, пробую
C++
1
system("start /d %USERPROFILE%/Рабочий стол/2.exe");
уже работает, Но пишет не удаётся найти AND проверьте правильно ли введено имя...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2016, 10:44     Получить директорию текущего пользователя в windows
Еще ссылки по теме:
C++ WinAPI Имя пользователя Windows
Получить имя пользователя и домена по его SID с выключенной сетью C++ WinAPI
C++ WinAPI Пытаюсь используя logonuser получить token некоторого пользователя, GLe 1385 и 1327
Создание приложения Windows с графическим интерфейсом пользователя C++ WinAPI
C++ WinAPI Получить screenshot windows в cv::Mat

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

Или воспользуйтесь поиском по форуму:
MaGaponov
11 / 11 / 6
Регистрация: 01.07.2015
Сообщений: 86
30.01.2016, 10:44     Получить директорию текущего пользователя в windows #13
C++
1
system("cd /d %USERPROFILE%\\Desktop")
Должно работать. У меня в консоли робит.
Yandex
Объявления
30.01.2016, 10:44     Получить директорию текущего пользователя в windows
Ответ Создать тему
Опции темы

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