Uso GetEnvironmentString()
para obtener las variables de entorno del programa.¿Cuáles son estas extrañas variables de entorno?
Cada programa tiene como resultado en la primera:
=::=::\
No sé qué quiere decir?
Aquí está el código:
LPWCH lpEnvString=GetEnvironmentStringsW();
LPWSTR lpszVariable=(LPWSTR)lpEnvString;
while (*lpszVariable)
{
wprintf(L"%s\n",lpszVariable);
lpszVariable+=wcslen(lpszVariable)+1;
}
FreeEnvironmentStringsW(lpEnvString);
también si comenzamos lista de variables tales veríamos cosas como:
=::=::\
=C:=C:\Users\username\value
=ExitCode=00000001
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\artik\AppData\Roaming
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
Por otro lado, getenv("=ExitCode")
getenv("=C:")
o devuelve null.
¿Puede proporcionar una documentación adecuada de esta "característica", por ejemplo getenv()
ignora tales cadenas y cómo deben tratarse tales valores?
Muéstranos el código. – Nick
@Nick Todo lo que necesita hacer es llamar a 'GetEnvironmentStrings()' –
Supongo que quería verificar lo que estaba haciendo con el valor devuelto para obtener la cadena proporcionada. Además, supones que tengo una PC con Windows :) – Nick