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

C++ и WinAPI

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

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

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

Я хочу написать программу для полного бэкапа диска С и здесь такой вопрос: c:\\docs and settigns\Пользователь\ - Пользователь, если кто-то другой будет пользоваться программой то и будет другое имя пользователя. Может есть что-то на подобии c:\docs and settings\%currentuser%\ Я гуглил но как-то криво, может знаете как я могу обойтись без имени пользователя?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2016, 20:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить директорию текущего пользователя в windows (C++ WinAPI):

Как получить имя текущего пользователя Windows? - C++ WinAPI
Нашел тут пример только для C++ Builder, но у меня на Dev C++ он не компилируется, не понимает AnsiString. По этому спрашиваю как...

Нужно вывести на экран информацию про системную директорию и директорию windows - C++ WinAPI
Помогите плз!Нужно написать прогу которая выводит на екран такую инфу:Computer name,user name,system directory,windows directory.windows...

Пароль текущего пользователя - C++ WinAPI
Товарищи, подскажите, а есть ли апишная функция для получения пароля текущего пользователя, только с учетом, что прога работает в домене с...

Определение текущего пользователя - C++ WinAPI
Как определить текущего пользователя у win

Получить process id текущего приложения - C++ WinAPI
Изначально пытался получить путь к exe-файлу текущего приложения. В поисковике наткнулся на форумы, где предлагали искать путь по process...

Как получить адрес текущего окна зная его Хендл - C++ WinAPI
Добрый день! У меня есть приложение на ВинФорм, и возникла необходимость использовать в этом приложении путь активного окна в данный...

12
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24111 / 16092 / 4894
Регистрация: 22.10.2011
Сообщений: 28,524
Записей в блоге: 5
03.01.2016, 20:33 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Используй SHGetSpecialFolderPath + CSIDL_PROFILE
1
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
03.01.2016, 21:38  [ТС] #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 : '...'
0
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
05.01.2016, 01:48  [ТС] #4
спасибо
0
MaGaponov
11 / 11 / 6
Регистрация: 01.07.2015
Сообщений: 86
08.01.2016, 18:05 #5
C++
1
2
3
4
5
#include <stdlib.h>
...
system("cd /d c:");
system("cd documents and settings");
system("cd %username%");
1
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
20.01.2016, 22:09  [ТС] #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 постоянно
0
Почтальон
Модератор
430 / 356 / 64
Регистрация: 22.03.2015
Сообщений: 2,812
Завершенные тесты: 1
21.01.2016, 08:56 #7
Потому что кириллицей написано, попробуйте:
C++
1
if (system(L"cd /d %USERPROFILE%\\Рабочий стол"))
0
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
21.01.2016, 12:33  [ТС] #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
0
Почтальон
Модератор
430 / 356 / 64
Регистрация: 22.03.2015
Сообщений: 2,812
Завершенные тесты: 1
21.01.2016, 12:36 #9
vuchastyi, а почему не попробовали как volvo написал ?
0
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
21.01.2016, 12:37  [ТС] #10
Почтальон, я пробывал, но оно что-то сложно для меня, ничего не пойму что? куда? Толковый пример найти не могу нашёл один и то он не работает
0
Почтальон
Модератор
430 / 356 / 64
Регистрация: 22.03.2015
Сообщений: 2,812
Завершенные тесты: 1
21.01.2016, 12:45 #11
Почитайте вот это Получение значений переменных сред
возможно что-то получится у вас
1
vuchastyi
16 / 16 / 4
Регистрация: 05.04.2015
Сообщений: 104
23.01.2016, 02:15  [ТС] #12
Почтальон, и всё же там для C++ Builder У меня ничего не получилось, пробую
C++
1
system("start /d %USERPROFILE%/Рабочий стол/2.exe");
уже работает, Но пишет не удаётся найти AND проверьте правильно ли введено имя...
0
MaGaponov
11 / 11 / 6
Регистрация: 01.07.2015
Сообщений: 86
30.01.2016, 10:44 #13
C++
1
system("cd /d %USERPROFILE%\\Desktop")
Должно работать. У меня в консоли робит.
0
30.01.2016, 10:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2016, 10:44
Привет! Вот еще темы с ответами:

Как получить TID текущего потока? (библиотека pthread, компилятор g++ 4.6.1 открытый вопрос niXmanу) - C++
Да, как? #include &lt;windows.h&gt; #include &lt;pthread.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void *BusyWork(void *t) { ...

Можно ли из токена получить имя пользователя? - C++ WinAPI
Собственно вопрос в названии темы.

Имя пользователя Windows - C++ WinAPI
так получаю имя пользователя #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;Lmcons.h&gt; int main() { char buffer; ...

Получить имя пользователя и домена по его SID с выключенной сетью - C++ WinAPI
Добрый день! Стоит задача, получить имя пользователя и домена зная его SID если выключенна сеть. Из дополнительной информации:...


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

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

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