2010-09-03 2 views
4

Можно создать дубликат:
How to detect Windows 64 bit platform with .net?C# Как получить архитектуру операционной системы (x86 или x64)?

Как я могу восстановить операционную систему архитектуры (x86 или x64) с .NET 2.0?

Я не нашел хорошего способа получить архитектуру ОС в Google. Я нашел, как определить, является ли процесс 32-битным или 64-битным.

Если вам не все равно узнать об .NET 2.0, пожалуйста, скажите мне. :)

+2

Дубликат [? Как обнаружить Windows, 64-битную платформу .net] (http://stackoverflow.com/questions/336633/how-to -detect-windows-64-bit-platform-with-net) – GenericTypeTea

ответ

10

Не принято отвечать в дубликате вопрос, но это, как я бы это сделать:

Используйте GetEnvironmentVariable искать переменную PROCESSOR_ARCHITEW6432. Если он не существует, вы должны работать под управлением 32-битной:

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

Это кажется значительно проще, чем принятый ответ в dup. –

+0

Очевидно, это настроено для процессов WOW64 (то есть 32-разрядного кода, работающего на 64-разрядной ОС). Похоже, это какая-то шелушащаяся вещь. Что мешает мне устанавливать эту переменную окружения, просто для ударов или просто потому, что мне нравится давать вашему коду трудное время? – asveikau

+0

@asveikau - Ничего. Это более простой фрагмент кода, но, как вы сказали, не на 100% надежный. – GenericTypeTea

Смежные вопросы