VC程序里判断系统是64位还是32位的正确方法

2014-11-23 20:17:46 · 作者: · 浏览: 51

BOOL IsWow64()
{
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS fnIsWow64Process;
BOOL bIsWow64 = FALSE;
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle("kernel32"),"IsWow64Process");
if (NULL != fnIsWow64Process)
{
fnIsWow64Process(GetCurrentProcess(),&bIsWow64);
}
return bIsWow64;
}

注意:此方法在程序编译时是用32位,则在64位下返回TRUE。如果编译时就是用64位,此函数在64位下返回为FALSE。

摘自 蜗牛也是牛