基于对话框的mfc,怎样取得当前操作系统的版本号?
怎样用啊?
要那个API函数啊,急!
希望返回结果是:Windows xp sp2 这样啊!
哪为大峡给一个原代码哦,

解决方案 »

  1.   

    这样就可以了,程序如下:
    OSVERSIONINFO osvi;
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx(&osvi);
    CString csver;
    switch (osvi.dwPlatformId)
       {
          case VER_PLATFORM_WIN32_NT:
             if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2 )
                csver = "Microsoft Windows Server 2003 family, ";
             if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
                csver = "Microsoft Windows XP ";
             if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 )
                csver = "Microsoft Windows 2000 ";
             if ( osvi.dwMajorVersion <= 4 )
                csver = "Microsoft Windows NT ";
     csver += osvi.szCSDVersion;
             break;
          case VER_PLATFORM_WIN32_WINDOWS:         if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0)
             {
                 csver = "Microsoft Windows 95 ";
                 if ( osvi.szCSDVersion[1] == 'C' || osvi.szCSDVersion[1] == 'B' )
                    csver += "OSR2 ";
             }          if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10)
             {
                 csver = "Microsoft Windows 98 ";
                 if ( osvi.szCSDVersion[1] == 'A' )
                    csver += "SE ";
             }          if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90)
             {
                 csver = "Microsoft Windows Millennium Edition";
             } 
             break;      case VER_PLATFORM_WIN32s:
             csver = "Microsoft Win32s";
             break;
       }AfxMessageBox(csver);
      

  2.   

    BOOL GetVersionEx(LPOSVERSIONINFO lpVersionInfo);