在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应该会更好。有人知道吗?
答案 0 :(得分:0)
只需致电GetEnvironmentVariable()
即可。它适用于Windows维护的进程状态,而不是putenv()
修改的CRT状态。