2009-07-10 6 views

Répondre

3

Vous pouvez obtenir la version de votre système d'exploitation Windows en appelant le GetVersionEx.

OSVERSIONINFO vi; 
vi.dwOSVersionInfoSize = sizeof vi; 
GetVersionEx(&vi); 

if (vi.dwMajorVersion >= 6) 
    // Windows Vista or newer 
else 
    // Windows XP or older 
+0

Il ne dit que la différence entre les –

+0

de XP Pouvez-vous élaborer? – avakar

+2

Je suis assez sûr qu'il fait la différence entre les différentes versions correctement. Je pense que «5.quelque chose» est XP, «6» est Vista et «6.1» est Windows 7. – SCdF

2

Vous ne devez pas avoir de chemins spécifiques à la plate-forme codés en dur dans votre application. Il y a des variables d'environnement pour ces choses.

Ouvrez une invite de commande et tapez "set" pour afficher une liste d'entre eux. Plusieurs d'entre eux ont été standard depuis Windows 95. variables d'environnement importantes sont à noter ...

  • HOME
  • APPDATA
  • ProgramFiles
  • SystemRoot
  • ALLUSERSPROFILE

Donc, pour exemple ...

 
    char * path; 
    path = getenv("HOME"); 
    printf(path); 

Avoir un poke autour de vos versions cibles de Windows pour voir quelles variables sont communes entre les deux.

edit: python m'a rendu fainéant avec la manipulation de chaînes, code d'exemple fixe.

+2

En outre, il vaut la peine d'envisager [SHGetFolderPath] (http://msdn.microsoft.com/en-us/library/bb762181 (VS.85) .aspx). –

Questions connexes