Versão do sistema operacional

As funções auxiliares da API de versão são usadas para determinar a versão do sistema operacional que está em execução no momento. Para obter mais informações, consulte Obtendo a versão do sistema.

A tabela a seguir resume os números de versão mais recentes do sistema operacional.

Sistema operacional Número de versão
Windows 11 10.0*
Windows 10 10.0*
Windows Server 2022 10.0*
Windows Server 2019 10.0*
Windows Server 2016 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6,0
Windows Vista 6,0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5,0

*Para aplicativos que foram manifestados para Windows 8.1 ou Windows 10. Os aplicativos não manifestados para Windows 8.1 ou Windows 10 retornarão o valor de versão do sistema operacional Windows 8 (6.2). Para manifestar seus aplicativos para Windows 8.1 ou Windows 10, consulte Direcionando seu aplicativo para Windows.

Identificar o sistema operacional atual geralmente não é a melhor maneira de determinar se um recurso específico do sistema operacional está presente. Isso ocorre porque o sistema operacional pode ter adicionado novos recursos em uma DLL redistribuível. Em vez de usar as funções auxiliares da API de versão para determinar a plataforma do sistema operacional ou o número de versão, teste a presença do próprio recurso.

Para determinar a melhor maneira de testar um recurso, consulte a documentação do recurso de interesse. A lista a seguir discute algumas técnicas comuns para detecção de recursos:

  • Você pode testar a presença das funções associadas a um recurso. Para testar a presença de uma função em uma DLL do sistema, chame a função LoadLibrary para carregar a DLL. Em seguida, chame a função GetProcAddress para determinar se a função de interesse está presente na DLL. Use o ponteiro retornado por GetProcAddress para chamar a função. Observe que, mesmo que a função esteja presente, pode ser um stub que retorna apenas um código de erro, como ERROR_CALL_NOT_IMPLEMENTED.
  • Você pode determinar a presença de alguns recursos usando a função GetSystemMetrics . Por exemplo, você pode detectar vários monitores de exibição chamando GetSystemMetrics(SM_CMONITORS).
  • Há várias versões das DLLs redistribuíveis que implementam recursos de shell e controle comum. Para obter informações sobre como determinar quais versões estão presentes no sistema em que seu aplicativo está sendo executado, consulte o tópico Shell e Common Controls Versions.

Se você precisar de um sistema operacional específico, use-o como uma versão mínima com suporte, em vez de projetar o teste para o sistema operacional. Dessa forma, o código de detecção continuará funcionando em versões futuras do Windows.

Observe que um aplicativo de 32 bits pode detectar se ele está em execução em WOW64 chamando a função IsWow64Process . Ele pode obter informações adicionais do processador chamando a função GetNativeSystemInfo .

Para obter mais informações, consulte Windows 10 informações sobre a versão e a folha de fatos do ciclo de vida do Windows.