2010-09-03 6 views
4

Possible en double:
How to detect Windows 64 bit platform with .net?C# Comment obtenez-vous l'architecture du système d'exploitation (x86 ou x64)?

Comment puis-je récupérer l'architecture du système d'exploitation (x86 ou x64) avec .NET 2.0?

Je n'ai trouvé aucune bonne méthode pour obtenir l'architecture du système d'exploitation sur Google. Ce que j'ai trouvé, c'est comment dire si le processus est 32 bits ou 64 bits.

S'il n'y a pas de moyen de le savoir dans .NET 2.0, dites-moi s'il vous plaît. :)

+2

en double de [? Comment détecter la plate-forme Windows 64 bits avec .net] (http://stackoverflow.com/questions/336633/how-to -detect-windows-64-bit-platform-with-net) – GenericTypeTea

Répondre

10

Pas la réponse acceptée dans la double question, mais voilà comment je le ferais:

Utilisez GetEnvironmentVariable pour rechercher la variable PROCESSOR_ARCHITEW6432. Si elle n'existe pas, vous devez exécuter 32bit:

bool is64bit = !string.IsNullOrEmpty(
    Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")); 
+3

Cela semble nettement plus simple que la réponse acceptée dans le dup. –

+0

Apparemment, ceci est défini pour les processus WOW64 (c'est-à-dire, le code 32 bits s'exécutant sur un système d'exploitation 64 bits). On dirait une sorte de chose floconneuse à vérifier. Qu'est-ce qui m'empêche de définir cette variable d'environnement, juste pour des coups de pied, ou simplement parce que j'aime donner du code à votre code? – asveikau

+0

@asveikau - Rien du tout. C'est un morceau de code plus simple, mais comme vous l'avez dit, pas fiable à 100%. – GenericTypeTea

Questions connexes