VC++如何判断当前操作系统是32位还是64位

 我来答
匿名用户
推荐于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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式