是否有 API 来获取操作系统中定义的原始变量值

Is there an API to get the original variable values defined in OS

本文关键字:定义 原始 变量值 操作系统 API 获取 是否      更新时间:2023-10-16

在 Windows 系统属性 |环境变量,有一个变量"AppStatus=status1"

有一个名为 MyApp.exe 的 exe。在实现中,它使用代码更改变量。

int ret = putenv("AppStatus=status2"); // Change the environment variable.

如果使用 API char * pStatus = getenv("AppStatus"); ,则返回值为 "status2"

我想得到的是操作系统("AppStatus=status1"(中定义的原始值,而不是进程块中定义的原始值。要实现这一点,我可以查询注册表项

HKEY_LOCAL_MACHINE\系统\当前控制集\控制\会话管理器\环境\路径。

但是,如果有一个支持它的 API,那就更好了。有人知道吗?

只需调用GetEnvironmentVariable() 。它适用于由Windows维护的进程状态,而不是由putenv()修改的CRT状态。