получить переменную окружения пути пользователя

Я пытаюсь получить переменную окружения пути в Windows. Поэтому я пытался

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
char* path = getenv("Path");
cout << "current path is:" << path << endl;
cin.get(); // program shall be closed when it's finished
}

Это прекрасно работает и дает мне путь. Я сравнил его с моим фактическим путем и обнаружил, что путь, который я получил с помощью этой программы, является система дорожка. Однако я не хочу получать система путь, а скорее пользователь дорожка. Я пытался изменить случай "Path" как в моей системе "path" относится к пользователь переменная пути в то время как "Path" относится к система переменная пути, но getenv кажется, игнорирует это. Как я могу получить значение система переменная пути?

1

Решение

getenv("PATH"); Это восстановит система путь и пользователь путь вместе.

Вам нужно использовать механизм реестра Windows, чтобы выяснить, пользователь а также система путь отдельно. Чтобы получить к ним доступ, прочитайте значение PATH с двух разных позиций в реестре:

Пользовательские переменные:

HKEY_CURRENT_USER\Environment

Системные переменные:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]