是否有API来获取OS中定义的原始变量值

时间:2011-12-30 08:26:09

标签: c++ winapi system-variable

在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 \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment \ Path。

但如果有支持它的API应该会更好。有人知道吗?

1 个答案:

答案 0 :(得分:0)

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