Есть ли API для получения исходных значений переменных, определенных в ОС? - PullRequest
0 голосов
/ 30 декабря 2011

В свойствах системы Windows |Переменные среды, существует переменная "AppStatus=status1".

Существует исполняемый файл с именем MyApp.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 голосов
/ 30 декабря 2011

Просто позвоните GetEnvironmentVariable(). Он работает в состоянии процесса, поддерживаемом Windows, а не в состоянии CRT, измененном putenv().

...