Je veux savoir, au moment de l'exécution, si je cours sur des fenêtres 32 bits ou 64 bits. La structure OSVERSIONINFOEX me dit la version majeure et mineure, mais je suppose que j'ai besoin des numéros de build. quelqu'un sait ce qu'ils sont?Comment puis-je savoir si mon application fonctionne sous Windows x86 ou x64?
Répondre
Si votre application est compilée pour 64 bits, la réponse est simple: vous utilisez Windows 64 bits.
Si votre application est compilée pour 32 bits, vous devez appeler IsWow64Process. Cette fonction est exportée uniquement sur Windows XP ou version ultérieure. Si vous souhaitez prendre en charge les versions antérieures de Windows, vous devez utiliser GetProcAddress pour obtenir un pointeur vers cette fonction.
Vous pouvez déjà obtenir le numéro de build à partir de la structure OSVERSIONINFOEX
.
Si vous êtes un processus 32 bits et que vous voulez savoir si vous utilisez WOW64 (c'est-à-dire un système d'exploitation 64 bits), appelez le IsWow64Process()
. (nécessite XP SP2 ou version ultérieure)
En supposant que vous utilisiez C++, il existe une très bonne classe de détection de système d'exploitation here.
J'utilise WMI.
select * from Win32_OperatingSystem
Obtenir la première instance, puis sélectionnez l'attribut version. Pour WinXP, il renvoie 5.1.2600.
- 1. Comment savoir dans .NET si vous utilisez x86 ou x64?
- 2. Comment détecter si mon programme fonctionne sous Windows?
- 3. ActivePDF Toolkit sous Windows Server 2003 x64
- 4. Lancer MSI x86 ou x64 à partir de MSBuild bootstrapper
- 5. Configurer ASP.NET pour utiliser x86 sur x64 Windows
- 6. Quel SQLCMD.exe utiliser (x64 ou x86) - SQL Server 2008?
- 7. Comment puis-je savoir si mon script Perl s'exécute sous Windows?
- 8. Comment savoir si l'applet ou l'application est
- 9. Comment redémarrer mon application si Windows Update force un redémarrage?
- 10. Accès x86 COM à partir de x64 .NET
- 11. Détecter si mon application s'exécute sous l'EDI "Delphi 2007 .Net"
- 12. VirtualStore ne fonctionne pas sur Vista x64
- 13. Comment savoir si une application .NET a été compilée en mode DEBUG ou RELEASE?
- 14. LoadLibrary échoue sous Vista x64
- 15. CBT Hook ne fonctionne pas sous Windows Vista
- 16. Comment savoir si un formulaire de mon application est en premier plan
- 17. Le programme d'installation cible-t-il x86 et x64?
- 18. Comment savoir si mon iPhone est en mode silencieux?
- 19. Bonne bibliothèque ISAM ou autre gestionnaire de fichiers simple pour les fichiers volumineux sous Windows x64
- 20. Comment déployer une application Qt sous Windows?
- 21. Question d'installation: "Program Files" ou "Program Files (x86)"?
- 22. Comment puis-je savoir si httponly est défini dans mon application?
- 23. Comment puis-je savoir si un bouton est enfoncé dans mon application iPhone?
- 24. Comment utiliser Windows clé dans mon application
- 25. Application Web asp.net compilée et déployée sur x64 0 x
- 26. Comment puis-je savoir si mon processeur est en 32 ou 64 bits?
- 27. Comment mon script Perl sait-il qu'il fonctionne sous Win64?
- 28. Comment savoir quelle application locale est connectée à mon socket (Windows)
- 29. Mon programme C++ devrait-il supporter IA64 ou seulement x64?
- 30. fichiers batch, x64 vista, si et entre parenthèses