Здравствуйте, возник вопрос с тем, как узнать разрядность ОС Windows. Пробовал через препроцессинг, но выдает неправильные данные...
#ifdef WIN64
#define OS_BIT 64
#endif // !WIN64
#ifdef WIN32
#define OS_BIT 32
#endif // !WIN32
Может быть есть какой-нибудь другой способ?
Ответ
BOOL Is64BitWindows()
{
#if defined(_WIN64)
return TRUE; // Программа скомпилирована для x64
#elif defined(_WIN32)
// Программа скомпилирована для x32, спрашиваем ОС
BOOL f64 = FALSE;
return IsWow64Process(GetCurrentProcess(), &f64) && f64;
#else
return FALSE; // Программа скомпилирована для x16
#endif
}
Источник: https://blogs.msdn.microsoft.com/oldnewthing/20050201-00/?p=36553/
Комментариев нет:
Отправить комментарий