首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt 判断windows系统的位数,该如何解决

2012-12-16 
Qt 判断windows系统的位数因为写一个东西,用到windows的API对注册表操作,其中一个参数就是需要指定多多少

Qt 判断windows系统的位数
因为写一个东西,用到windows的API对注册表操作,其中一个参数就是需要指定多多少位的注册表进行操作,如果64位系统就指定使用64位的注册表,否则就是32位注册表

百度许久,各种API,我在QT里用API是真心觉得恶心了,各种转换,转的我头都晕了。。望各位大牛好心指点一下~
[最优解释]
WINDOWS判断是否是64位的方法
    bool IsWin64 = false;
#ifdef Q_OS_WIN
    OSVERSIONINFOEX osvi;
    SYSTEM_INFO si;
    PGNSI pGNSI;

    ZeroMemory(&si, sizeof(SYSTEM_INFO));
    ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
    GetVersionEx((OSVERSIONINFO*)&osvi);

    pGNSI = (PGNSI) GetProcAddress(
                GetModuleHandle(TEXT("kernel32.dll")),
                "GetNativeSystemInfo");
    if(NULL != pGNSI)
        pGNSI(&si);
    else GetSystemInfo(&si);


    if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 )
    {
        IsWin64 = true;
    }
    else if (si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_INTEL )
    {
        IsWin64 = false;
    }


#endif

热点排行