这是一个相当受欢迎的问题,但所有答案都说:“使用IsWow64Process函数”。问题是,如果应用程序是64位,则返回FALSE。我想要一个无论我的应用程序的位数如何都能运行的解决方案。
答案 0 :(得分:5)
为32位进程创建一个函数来调用Win32 API函数IsWow64Process()
,并为64位进程返回true
。
bool is_64bit(void)
{
#if defined(_WIN64)
return true; // 64-bit programs run only on Win64
#elif defined(_WIN32)
BOOL f64 = FALSE;
return IsWow64Process(GetCurrentProcess(), &f64) && f64;
#endif
}