检索用户路径环境变量



我尝试在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似乎忽略了这一点。如何获得system路径变量的值?

getenv("PATH");将同时检索系统路径和用户路径。

您需要使用Windows注册机制分别查找用户系统路径。要访问它们,从注册表中的两个不同位置读取PATH的值:

用户变量:

HKEY_CURRENT_USEREnvironment
系统变量:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment

相关内容

  • 没有找到相关文章

最新更新