对98\2000\XP需要进行不同的处理
XP with SP2 的HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \Windows \CurrentVersion下面并没有
Version键值啊。
怎们才能查到当前版本?

解决方案 »

  1.   

    判断操作系统版本
    OSVERSIONINFO osV; osV.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx (&osV); if(osV.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS && osV.dwMinorVersion==10)
    {
    OS_Version=OS_98;
    }
    else if(osV.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS && osV.dwMinorVersion==90)
    {
    OS_Version=OS_ME;
    }
    else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==5)
    {
    OS_Version=OS_XP_2000;
    }
    else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==4)
    {
    OS_Version=OS_NT_4;
    }
    else if(osV.dwPlatformId==VER_PLATFORM_WIN32_NT && osV.dwMajorVersion ==333)
    {
    OS_Version=OS_NT_3;
    } switch(OS_Version)
    {
        case OS_XP_2000:
    //
    break;
    case OS_98:
    //
    break;
    case OS_ME:
    //
    break;
    default:
    break;
    }判断语言版本:SYSTEMLANGUAGE=GetOEMCP(); switch(SYSTEMLANGUAGE)
    {
        case 936:
    //简体
    break;
    case 950:
    //繁体
    break;
    default:
    break;
    }
      

  2.   

    GetVersionEx (&osvi);
    bIsWindows98orLater = 
       (osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) &&
       ( (osvi.dwMajorVersion > 4) ||
       ( (osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion > 0) ) );