Correct way to check if Windows is 64 bit or not, on runtime? (C++)
c++, registry
Solution
Here's what Raymond Chen suggests in his blog at https://devblogs.microsoft.com/oldnewthing/20050201-00/?p=36553:
BOOL Is64BitWindows()
{
#if defined(_WIN64)
return TRUE; // 64-bit programs run only on Win64
#elif defined(_WIN32)
// 32-bit programs run on both 32-bit and 64-bit Windows
// so must sniff
BOOL f64 = FALSE;
return IsWow64Process(GetCurrentProcess(), &f64) && f64;
#else
return FALSE; // Win64 does not support Win16
#endif
}
Problem
``` bool Win64bit = (sizeof(int*) == 8) ? 1 : 0; ``` I need this so my app can use Windows registry functions properly (or do i need?). So am i doing it right ?