Я пытаюсь получить переменную окружения пути в 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
кажется, игнорирует это. Как я могу получить значение система переменная пути?
getenv("PATH");
Это восстановит система путь и пользователь путь вместе.
Вам нужно использовать механизм реестра Windows, чтобы выяснить, пользователь а также система путь отдельно. Чтобы получить к ним доступ, прочитайте значение PATH
с двух разных позиций в реестре:
Пользовательские переменные:
HKEY_CURRENT_USER\Environment
Системные переменные:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Других решений пока нет …