修改系统环境变量

时间:2017-02-25 03:33:29

标签: c windows environment-variables

我想在Windows上修改系统的环境变量。我可以打开控制面板的环境变量'对话框:

dialog

但是,我想以编程方式在C. AFAIK中执行此操作,在Unix中我可以修改全局变量environ,但我怀疑这在Windows中是否可行。

那么,我如何以编程方式修改Windows系统环境变量?

2 个答案:

答案 0 :(得分:1)

如果您正在使用MinGW / TDM-GCC,您可以使用与Unix getenv中使用的相同功能来获取变量的内容setenvputenv编写或修改变量。

如果你想去当地,你可以通过使用来做到这一点 GetEnvironmentVariable / SetEnvironmentVariable。还提供了关于如何使用它们的示例。虽然它们被标记为C ++,但您可以使用C ++编译器或使用extern "C"链接。

答案 1 :(得分:1)

有关如何更改系统环境变量的详细信息,请参见Environment Variables

  

调用SetEnvironmentVariable对系统环境变量没有影响。若要以编程方式添加或修改系统环境变量,请将它们添加到 HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ Environment 注册表项,然后使用 lParam <广播WM_SETTINGCHANGE消息/ em>设置为字符串&#34; Environment&#34;。这允许应用程序(如shell)获取更新。

请注意,需要提升流程以更改HKEY_LOCAL_MACHINE配置单元下的值。