C++判断操作系统是32位还是64位

发布于2022-01-13 19:18:35
7个回答
admin
网友回答2022-01-13
c++中检测系统是32位还是64位的方法如下:
1、定义一个函数getWindowsBit,传入布尔值:
bool getWindowsBit(bool & isWindows64bit)
{
预编译语句,判断32位成立,那么就把isWindows64bit置为true
#if _WIN64
isWindows64bit = true;
return true;
预编译语句,判断32位成立,那么就把isWow64置为false
#elif _WIN32
BOOL isWow64 = FALSE;
//IsWow64Process is not available on all supported versions of Windows.
//Use GetModuleHandle to get a handle to the DLL that contains the function
//and GetProcAddress to get a pointer to the function if available.

LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)
GetProcAddress(GetModuleHandle(TEXT(kernel32)),IsWow64Process);
2、实际的判断逻辑,根据处理器函数GetCurrentProcess来判断
if(fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(), &isWow64))
return false;
if(isWow64)
isWindows64bit = true;
else
isWindows64bit = false;
return true;
}
else
return false;
#else
assert(0);
return false;
#endif
}
admin
网友回答2022-01-13
直接对着我的电脑右键属性,就可以看到,如下图所示,我的是64位

专业的电脑技术团队,装机员为你解答
admin
网友回答2022-01-13
很简单,右击计算机-属性可以看见系统类型,求采纳
admin
网友回答2022-01-13
右键计算机点属性
admin
网友回答2022-01-13
在“计算机”上面点击右键,再鼠标单击“属性”,即可显示出“系统类型”到底是哪一种。
admin
网友回答2022-01-13
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 位操作系统
_tprintf(_T(is 32 bit OS\r\n));
return bRetVal;
}
admin
网友回答2022-01-13
右击我的电脑看属性

回到
顶部