有没有办法在 Windows 上的 C++ 中以编程方式设置环境路径? [英] Is there a way to set the environment path programmatically in C++ on Windows?

查看:36
本文介绍了有没有办法在 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++ 中以编程方式设置环境路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆