VC++如何判断当前操作系统是32位还是64位
1个回答
推荐于2016-01-27
展开全部
你可以参考微软的代码呀;方法是判断当前进程是否运行在WOW64下,
首先你的程序要按x86方式去编译链接,得到的就是32位的程序了,32位程序要运行在64位系统下时,需要WOW64子系统的支持,所以用这个特性就可以判断出当前系统是不是64位了;如果IsWow64返回TRUE,那就表示当前程序运行在WOW64下,就是说当前系统是64位的
#include <windows.h>
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
GetModuleHandle("kernel32"),"IsWow64Process");
BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;
if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
// handle error
}
}
return bIsWow64;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询