Проверить ОС 32bit или 64bit в C#.net
Привет,
Как проверить ОС 32bit или 64bit в C#.net?Это приложение для windows?Пожалуйста, как достичь этой задачи.
Спасибо
это очень просто.
Вы можете проверить это, используя размер IntPtr. IntPtr sixe-это 4 для 32 - битной ОС и 8 для 64-битной ОС
if (IntPtr.Size == 8) // 64Bit else // 32bit
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] 2 [return: MarshalAs(UnmanagedType.Bool)] 3 public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool lpSystemInfo); 4 5 public bool Is64Bit() 6 { 7 bool retVal; 8 9 IsWow64Process(Process.GetCurrentProcess().Handle, out retVal); 10 11 return retVal;
Неправильный.Для приложения, нацеленного на 32-битную версию и работающего в 64-битной версии, также возвращается 32-битная версия.
используйте System.Environment.Метод GetEnvironmentVariable()
Console.WriteLine(System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE").ToString());
and you can use as if (Environment.Is64BitOperatingSystem) { return Environment.GetEnvironmentVariable("SysWOW64"); } else { return Environment.GetEnvironmentVariable("system32"); }
Для тех, кто сейчас ищет решение,
Environment.Is64BitOperatingSystem