gpt4 book ai didi

c++ - 如何完全清除 Windows C++ 中的所有用户环境变量

转载 作者:可可西里 更新时间:2023-11-01 10:16:35 24 4
gpt4 key购买 nike

我一直在努力取得任何进展,将公司编写的产品严重依赖于 Unix,移植到与 Windows 兼容的版本中。事情不太顺利。我有两个不同的开发分支,有两个不同的问题。在这个问题中,我必须移植本质上是 Unix clearenv() 函数的包装器,它完全清除表中的所有用户环境变量。可能出于安全原因,我找不到与 Windows 的 clearenv() 等效的方法,而我找到/提出的一个解决方案会清除进程中的所有环境变量,包括系统变量。我想要一个可以摆脱所有用户环境变量但不涉及系统变量的解决方案。

我知道这可能是一件愚蠢的事情,但它在代码中,所以我必须尝试移植它。

此外,如果有帮助,我正在 MinGW 下编译

最佳答案

来自 CreateEnvironmentBlock 的文档:

hToken [in, optional] [...] If this parameter is NULL, the returned environment block contains system variables only.

通过进程环境 block 并将其更改为匹配此函数返回的“仅系统” block 仍然会有点困惑,但至少您将获得必要的信息。

关于c++ - 如何完全清除 Windows C++ 中的所有用户环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38885901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com