Comment déterminer par programme la version de Windows actuellement installée? Comme dans la différencier entre Vista et XP.Identification de la version de Windows [C/C++]
Répondre
Si vous utilisez Win32, vous pouvez utiliser l'API GetVersionEx pour identifier le système d'exploitation.
La question immédiate ici est ce que vous essayez de tester? Il vaut mieux comparer check for features que de comparer les numéros de version (puisqu'il existe plusieurs versions de Windows).
VerifyVersionInfo fait les deux, et est la méthode recommandée pour comparer les numéros majeurs/mineurs.
BOOL IsAtLeast2008DC() {
OSVERSIONINFOEX osvi = {0};
DWORDLONG mask = 0;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
osvi.dwMajorVersion = 6;
osvi.dwMinorVersion = 0;
osvi.wServicePackMajor = 0;
osvi.wServicePackMinor = 0;
osvi.wProductType = VER_NT_DOMAIN_CONTROLLER;
VER_SET_CONDITION(mask, VER_MAJORVERSION, VER_GREATER_EQUAL);
VER_SET_CONDITION(mask, VER_MINORVERSION, VER_GREATER_EQUAL);
VER_SET_CONDITION(mask, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
VER_SET_CONDITION(mask, VER_SERVICEPACKMINOR, VER_GREATER_EQUAL);
VER_SET_CONDITION(mask, VER_SERVICEPACKMINOR, VER_GREATER_EQUAL);
VER_SET_CONDITION(mask, VER_PRODUCT_TYPE, VER_EQUAL);
return VerifyVersionInfo(&osvi,
VER_MAJORVERSION | VER_MINORVERSION |
VER_SERVICEPACKMAJOR | VER_SERVICEPACKMINOR |
VER_PRODUCT_TYPE,
mask
);
}
Pour tester Vista ou une version ultérieure, supprimez les lignes qui mentionnent le type de produit. Vous trouverez plus d'exemples here, mais faites attention à ce que vous recherchez.
Bien que cela fonctionne pour tester "La version actuelle de Windows est-elle assez bonne pour mes besoins minimum?", Elle ne répond pas à la question à laquelle 'GetVersionEx' a répondu:" Quelle est la version de Windows que je cours? " Microsoft ne semble pas vouloir que nous posions cette question plus. :( –
Bien que l'autre commentaire soit une réponse directe, ce n'est * habituellement * pas la bonne solution à un problème – Mark
Il s'avère que je n'ai pas besoin de prendre de décision sur l'une ou l'autre question. à * document * quelle version de Windows mon programme est exécuté par les utilisateurs.Sans la fonctionnalité de 'GetVersionEx', je ne peux pas facilement faire cela.À la place, je dois estimer la famille de la version avec une série de" Est-ce au moins A? "" Est-ce au moins B? "Jusqu'à ce que je trouve la limite où la réponse change, pas aussi satisfaisant pour mes besoins. –
- 1. Comment détecter la version linguistique de Windows
- 2. Flex Bulder 3 Version Pro ou Non Identification
- 3. Comment étendre l'enformation de l'applet de la version Windows
- 4. Identification d'IIS 7 à l'aide de NSIS
- 5. Identification de hauteur sous Linux
- 6. Authentification (ou même identification) de la machine cliente dans ASP.NET
- 7. Comment mettre à jour la version de Ruby dans Windows?
- 8. Vérification de la version du fichier dans Ruby sous Windows
- 9. version DotNet de Windows Scripting Host
- 10. Windows NT version
- 11. Saut DataContractSerializer OpenAccess Version de la version
- 12. Obtention de la version
- 13. Identification des références de service Web ASP.NET
- 14. Identification d'objet R
- 15. La version de la version iPhone ne fonctionne pas de la même manière que la version de débogage
- 16. Quelle est la cause de System.IO.IOException sur la version intégrée de Windows XP?
- 17. Cela vaut-il la peine de tester la même version d'IE sur différentes versions de Windows?
- 18. Problème de condition de lancement de WISE Windows Installer Editor - Vérification de la version
- 19. Quelle version de .NET est livrée avec quelle version de Windows?
- 20. Pouvez-vous partager vos scripts personnalisés pour la conversion de cc à svn s'il vous plaît?
- 21. Est-ce que Windows Installer utilise la version d'assemblage ou la version de fichier pour mettre à jour les DLL?
- 22. Version IIS de la machine de développement et déploiement Version IIS
- 23. Détection de la version COMCTL32 dans .NET
- 24. Identification des problèmes de mémoire dans une application ASP.NET
- 25. La prochaine version de jQuery
- 26. trouver la version de firefox
- 27. Compilation de la version PowerPoint
- 28. Où est la version Unicode d'atof dans Windows Mobile
- 29. API Windows pour déterminer la version du Service Pack
- 30. Comment lire la version du fichier .exe windows?
Malheureusement, 'GetVersion' et' GetVersionEx' sont obsolètes depuis W8, en faveur de 'VerifyVersionInfo'. Un mauvais changement, à mon humble avis. –