2010-07-01 21 views

Répondre

1

Il y a une API de Windows, vous devez utiliser: GetWindowsDirectory

Mais si vous ne voulez lire de l'environnement, vous pouvez utiliser GetEnvironmentVariable ou de l'exécution C avec getenv ou même obtenir le pointeur de l'environnement de la troisième non-officiel argument principal int main(argc, argv, envp) qui est pris en charge par le moteur d'exécution VC.

+0

+1 pour une bonne réponse et 3ème argument de la Microsoft Main 'extension - c'est toujours agréable d'apprendre quelque chose de nouveau. –

+1

Ce n'est pas seulement Microsoft - à peu près tout a envp. GNU Make s'en remet même à ça et c'est supposé fonctionner à l'improviste partout. Le seul système que j'ai jamais vu sans Interix 2 (3+ l'a bien vu) et il y a une exception dans GNU Make pour AmigaOS aussi je pense. – Rup

0

Cela devrait être assez facile avec GetEnvironmentVariable():

DWORD WINAPI GetEnvironmentVariable(
    __in_opt LPCTSTR lpName, 
    __out_opt LPTSTR lpBuffer, 
    __in  DWORD nSize 
); 

Voir MSDN sur GetEnvironmentVariable() pour plus d'infos et quelques exemples (la fonction est utilisée dans l'exemple 2)