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++ 中以编程方式设置环境路径?
基础教程推荐
- 在 C++ 中循环遍历所有 Lua 全局变量 2021-01-01
- Windows Media Foundation 录制音频 2021-01-01
- 如何在不破坏 vtbl 的情况下做相当于 memset(this, ...) 的操作? 2022-01-01
- 管理共享内存应该分配多少内存?(助推) 2022-12-07
- 如何“在 Finder 中显示"或“在资源管理器中显 2021-01-01
- 如何使图像调整大小以在 Qt 中缩放? 2021-01-01
- 使用从字符串中提取的参数调用函数 2022-01-01
- 为 C/C++ 中的项目的 makefile 生成依赖项 2022-01-01
- 从 std::cin 读取密码 2021-01-01
- 为什么语句不能出现在命名空间范围内? 2021-01-01