Is there a way to set the environment path programmatically in C++ on Windows?(有没有办法在 Windows 上的 C++ 中以编程方式设置环境路径?)
问题描述
有没有办法以编程方式(C++)设置全局windows路径环境变量?
据我所知,putenv 只为当前应用程序设置它.
直接在注册表中更改 (HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment)
也是一个选项,但如果有的话我更喜欢 API 方法?
Is there a way to set the global windows path environment variable programmatically (C++)?
As far as I can see, putenv sets it only for the current application.
Changing directly in the registry (HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment)
is also an option though I would prefer API methods if there are?
推荐答案
MSDN 说:
调用 SetEnvironmentVariable 没有对系统环境的影响变量.以编程方式添加或修改系统环境变量,将它们添加到HKEY_LOCAL_MACHINESystemCurrentControlSetControlSessionManagerEnvironment 注册表项,然后广播 WM_SETTINGCHANGE 消息将 lParam 设置为字符串环境". 这允许应用程序,如外壳,获取您的更新.请注意,环境变量的值此键中列出的限制为 1024字符.
Calling SetEnvironmentVariable has no effect on the system environment variables. To programmatically add or modify system environment variables, add them to the HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment registry key, then broadcast a WM_SETTINGCHANGE message with lParam set to the string "Environment". This allows applications, such as the shell, to pick up your updates. Note that the values of the environment variables listed in this key are limited to 1024 characters.
这篇关于有没有办法在 Windows 上的 C++ 中以编程方式设置环境路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:有没有办法在 Windows 上的 C++ 中以编程方式设置环境路径?


- 静态初始化顺序失败 2022-01-01
- 近似搜索的工作原理 2021-01-01
- C++ 协变模板 2021-01-01
- 使用/clr 时出现 LNK2022 错误 2022-01-01
- 如何对自定义类的向量使用std::find()? 2022-11-07
- 与 int by int 相比,为什么执行 float by float 矩阵乘法更快? 2021-01-01
- 从python回调到c++的选项 2022-11-16
- 一起使用 MPI 和 OpenCV 时出现分段错误 2022-01-01
- Stroustrup 的 Simple_window.h 2022-01-01
- STL 中有 dereference_iterator 吗? 2022-01-01