//判断系统是32位还是64位
//***********************************************************************************
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
BOOL IsWow64()
{
LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
GetModuleHandle(_T("kernel32")),
"IsWow64Process"
);
BOOL bIsWow64 = FALSE;
if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
// Error handle
return FALSE;
}
}
return bIsWow64;
}
BOOL Is64BitWindows()
{
#if defined(_WIN64)
return TRUE; // 64-bit programs run only on Win64
#else // _WIN32
// 32-bit programs run on both 32-bit and 64-bit Windows
// so must sniff
return IsWow64();
#endif
}