Následující kód vrací verzi operačního systému Windows na základě hodnot zjištěných pomocá API funkce GetVersionEx. Aktuálně je tímto způsobem možné detekovat 12 různých hlavních verzí Windows.

Pro upřesnění, zda se jedná o 32-bitovou nebo 64-bitovou verzi Windows, je možné kód rozšířit o kontrolu pomocí API funkce GetNativeSystemInfo.

#include <windows.h>
#include <stdio.h>
 
int main(){
  OSVERSIONINFOEXA ov;
 
  ZeroMemory(&ov, sizeof(OSVERSIONINFOEXA));
  ov.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA);
 
  GetVersionExA((OSVERSIONINFOA *)&ov);
 
  switch(ov.dwMajorVersion){
    case 5:
      switch(ov.dwMinorVersion){
        case 0:
          printf("Windows 2k");
          break;
        case 1:
          printf("Windows XP");
          break;
        case 2:
          if(ov.wProductType == VER_NT_WORKSTATION)
            printf("Windows XP Profesional x64");
          else if(GetSystemMetrics(SM_SERVERR2) == 0)
            printf("Windows Server 2k3");
          else if(ov.wSuiteMask & 0x00008000) //VER_SUITE_WH_SERVER
            printf("Windows Home Server");
          else if(GetSystemMetrics(SM_SERVERR2) != 0)
            printf("Windows Server 2k3 R2");
          else
            printf("Unknown");
          break;
        default:
          printf("Unknown");
          break;
      }
      break;
    case 6:
      switch(ov.dwMinorVersion){
        case 0:
          if(ov.wProductType == VER_NT_WORKSTATION)
            printf("Windows Vista");
          else
            printf("Windows Server 2k8");
          break;
        case 1:
          if(ov.wProductType == VER_NT_WORKSTATION)
            printf("Windows 7");
          else
            printf("Windows Server 2k8 R2");
          break;
        case 2:
          if(ov.wProductType == VER_NT_WORKSTATION)
            printf("Windows 8");
          else
            printf("Windows Server 2k12");
          break;
        default:
          printf("Unknown");
          break;
      }
      break;
  }
 
  return 0;
}