这是一个相当受欢迎的问题,但所有的答案几乎都说:“使用IsWow64Process函数”。 如果应用程序是64位的,则返回FALSE。 我想要一个解决scheme,不pipe我的应用程序的位。
创建一个函数为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 }