我想在Windows上修改系统的环境变量。我可以打开控制面板的环境变量'对话框:
但是,我想以编程方式在C. AFAIK中执行此操作,在Unix中我可以修改全局变量environ
,但我怀疑这在Windows中是否可行。
那么,我如何以编程方式修改Windows系统环境变量?
答案 0 :(得分:1)
如果您正在使用MinGW / TDM-GCC,您可以使用与Unix getenv
中使用的相同功能来获取变量的内容setenv
或putenv
编写或修改变量。
如果你想去当地,你可以通过使用来做到这一点
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
配置单元下的值。