Bonjour,
Les variables d'environnement sont récupérables comme les arguments du programme. On code souvent la fonction main d'un programme avec main(int argc,char** argv) mais en réalité la fonction complète est main(int argc,char** argv,char** env) où env pointe les variables d'environnement.
Exemple :
#include <stdio.h>
void main(int argc,char** argv,char** env)
{
printf("%d argument(s) :\n",argc);
for (int i=0 ; i<argc ; ++i) printf("- %s\n",argv[i]);
printf("Variables d'environnement :\n");
i = 0;
while (env[i]) printf("- %s\n",env[i++]);
}
Ce qui donne (test est le nom de ce petit programme) :
test param1 param2
3 argument(s) :
- test
- param1
- param2
Variables d'environnement :
- ALLUSERSPROFILE=C:\Documents and Settings\All Users
- APPDATA=C:\Documents and Settings\XXX\Application Data
- CLASSPATH=.;C:\Program Files\QuickTime\QTSystem\QTJava.zip
- CLIENTNAME=Console
- CommonProgramFiles=C:\Program Files\Fichiers communs
- COMPUTERNAME=XXX
...
- windir=C:\WINDOWS
Jean-François