一、判断32bit/64bit操作系统(来自互联网)
1.方法1,未验证
void* number = 0;
if(sizeof(&number) == 4) { //32位操作系统
}
if(sizeof(&number) == 8) { //64位操作系统
}
2.方法2,已验证
typedef VOID (__stdcall *LPFN_PGNSI)(LPSYSTEM_INFO lpSystemInfo);
inline BOOL Is64Bit_OS()
{
BOOL bRetVal = FALSE;
SYSTEM_INFO si = { 0 };
LPFN_PGNSI pGNSI = (LPFN_PGNSI) GetProcAddress(GetModuleHandle(_T("kernel32.dll")), "GetNativeSystemInfo");
if (pGNSI == NULL) {
return FALSE;
}
pGNSI(&si);
if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64 ) {
bRetVal = TRUE;
}
else {
//32 位操作系统
bRetVal = FALSE;
}
return bRetVal;
}