Como determinar a versão do Windows de 32 bits está a ser utilizada

Traduções de Artigos Traduções de Artigos
Artigo: 189249 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Uma aplicação necessitar de efectuar tarefas de forma diferente consoante o sistema operativo está em execução no computador. Este artigo mostra, por exemplo, como diferenciar entre o Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows NT 3.51, Microsoft Windows NT 4.0, Microsoft Windows 2000 e Microsoft Windows XP.

A função de Win32 GetVersionEx devolve informações que um programa pode utilizar para identificar o sistema operativo. Entre esses valores são os números de revisão principais e secundárias e um identificador de plataforma. Com a introdução do Windows 98, demora agora uma avaliação mais envolvida lógica para determinar qual a versão do Windows está em utilização. A lista abaixo fornece os dados necessários para avaliar a estrutura OSVERSIONINFO preenchida pela função GetVersionEx :
Reduzir esta tabelaExpandir esta tabela
O Windows 95Windows 98Windows MeWindows NT 4.0Windows 2000Windows XP
PlatformID 1 1 1 2 2 2
Versão principal 4 4 4 4 5 5
Versão secundária 0 10 90 0 0 1

Mais Informação

Exemplo passo a passo

  1. Inicie um novo projecto EXE padrão no Visual Basic. É criado o Form1 por predefinição.
  2. No menu Project , adicione um Módulo padrão ao projecto.
  3. Insert the following code into Module1:
          Public Declare Function GetVersionExA Lib "kernel32" _
                   (lpVersionInformation As OSVERSIONINFO) As Integer
     
                Public Type OSVERSIONINFO
                   dwOSVersionInfoSize As Long
                   dwMajorVersion As Long
                   dwMinorVersion As Long
                   dwBuildNumber As Long
                   dwPlatformId As Long
                   szCSDVersion As String * 128
                End Type
     
                Public Function getVersion() As String
                   Dim osinfo As OSVERSIONINFO
                   Dim retvalue As Integer
     
                   osinfo.dwOSVersionInfoSize = 148
                   osinfo.szCSDVersion = Space$(128)
                   retvalue = GetVersionExA(osinfo)
     
                   With osinfo
                   Select Case .dwPlatformId
     
                    Case 1
                    
                        Select Case .dwMinorVersion
                            Case 0
                                getVersion = "Windows 95"
                            Case 10
                                getVersion = "Windows 98"
                            Case 90
                                getVersion = "Windows Millennium"
                        End Select
        
                    Case 2
                        Select Case .dwMajorVersion
                            Case 3
                                getVersion = "Windows NT 3.51"
                            Case 4
                                getVersion = "Windows NT 4.0"
                            Case 5
                                If .dwMinorVersion = 0 Then
                                    getVersion = "Windows 2000"
                                Else
                                    getVersion = "Windows XP"
                                End If
                        End Select
        
                    Case Else
                       getVersion = "Failed"
                End Select
     
                   End With
                End Function
    
    					
  4. Adicione a seguinte linha de código ao evento carregar do Form1:
    MsgBox GetVersion()
    					
  5. Execute o projecto e note que uma caixa de mensagem apresenta a versão correcta do Windows.

Referências

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
92936Como obter o número de versão do Windows 3.1 no VB com GetVersion

Propriedades

Artigo: 189249 - Última revisão: 3 de setembro de 2004 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic for Applications 5.0
Palavras-chave: 
kbmt kbhowto KB189249 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 189249

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com