Como determinar a versão do Windows utilizando o Visual C#

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

Nesta página

Sumário

Este artigo passo a passo demonstra como determinar qual o sistema operativo está a ser utilizado no sistema onde a aplicação está a ser executado. Este artigo diferencia entre Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows 98 Segunda Edição, Microsoft Windows Millennium Edition (Windows Me), Microsoft Windows NT 3.51, Microsoft Windows NT 4.0, Microsoft Windows 2000 e Microsoft Windows XP.

Requisitos

  • Microsoft Visual C# .NET
  • Microsoft Visual C# 2005 ou do Visual C# 2008
  • Intermédio nível compreender de programação do Visual C#

Obter os dados da versão do Windows

Para determinar o sistema operativo que está em execução num sistema, tem de obter os seguintes dados:
+--------------------------------------------------------------+
|           |Windows|Windows|Windows|Windows NT|Windows|Windows|
|           |  95   |  98   |  Me   |    4.0   | 2000  |  XP   |
+--------------------------------------------------------------+
|PlatformID | 1     | 1     | 1     | 2        | 2     | 2     |
+--------------------------------------------------------------+
|Major      |       |       |       |          |       |       |
| version   | 4     | 4     | 4     | 4        | 5     | 5     |
+--------------------------------------------------------------+
|Minor      |       |       |       |          |       |       |
| version   | 0     | 10    | 90    | 0        | 0     | 1     |
+--------------------------------------------------------------+
				
Nota : Apesar do código deste artigo é verificado para utilização com todas as versões de 32 bits do Windows, Windows 95 e Windows NT 3.51 não suportam Microsoft Visual Studio .NET ou o common language runtime.

Obter as informações de sistema operativo

Espaço de nomes de sistema contém uma classe denominada sistema operativo . As propriedades da classe do sistema operativo fornecem as informações necessárias sobre o sistema operativo que está a ser utilizado. A propriedade OSVersion da classe System.Environment devolve um objecto de sistema operativo .
    System.OperatingSystem osInfo = System.Environment.OSVersion;
				

Determinar a plataforma

O primeiro passo na avaliação lógica das informações de sistema operativo é para determinar a plataforma está em utilização. Pode utilizar a propriedade PlatformID da classe do sistema operativo para determinar a plataforma está em utilização.

Por exemplo, o valor da propriedade Win32Windows enumerado indica um dos seguintes sistemas operativos:
  • O Windows 95
  • Windows 98
  • Windows 98 Segunda Edição
  • Windows Me
Do mesmo modo, a propriedade WinNT indica um dos seguintes sistemas operativos:
  • Windows NT 3.51
  • Windows NT 4.0
  • Windows 2000
  • Windows XP
    switch(osInfo.Platform)
        {
            case System.PlatformID.Win32Windows:         
                {
                 // Code to determine specific version of Windows 95, 
                 // Windows 98, Windows 98 Second Edition, or Windows Me.
                }

           case System.PlatformID.Win32NT:
               {
                  // Code to determine specific version of Windows NT 3.51, 
                  // Windows NT 4.0, Windows 2000, or Windows XP.
               }
           
         }
				

Determinar a versão específica do Windows 95, Windows 98, Windows 98 Segunda Edição ou Windows Me

Se determinar que a plataforma Windows 95, Windows 98, Windows 98 Segunda Edição ou Windows Me, é possível analisar o principal ou a versão secundária para determinar a versão específica.
    // Platform is Windows 95, Windows 98, Windows 98 Second Edition,
    // or Windows Me.
    case System.PlatformID.Win32Windows:
         
    switch (osInfo.Version.Minor)
        {
            case 0:
                Console.WriteLine ("Windows 95");
                break;
            case 10:
                if(osInfo.Version.Revision.ToString()=="2222A")
                    Console.WriteLine("Windows 98 Second Edition");
                else
                     Console.WriteLine("Windows 98");
                     break;
            case  90:
                     Console.WriteLine("Windows Me");
                     break;
         }break;
				

Determinar a versão específica do Windows NT, Windows 2000 ou Windows XP

Se determinar que a plataforma Windows NT 3.51, Windows NT 4.0, Windows 2000 ou Windows XP, pode analisar as principais ou a versão secundária para determinar a versão específica.
    // Platform is Windows NT 3.51, Windows NT 4.0, Windows 2000,
    // or Windows XP.
    case System.PlatformID.Win32NT:

    switch(osInfo.Version.Major)
        {
            case 3:
                Console.WriteLine("Windows NT 3.51");
                break;
            case 4:
                Console.WriteLine("Windows NT 4.0");
                break;
            case 5:
                if (osInfo.Version.Minor==0) 
                    Console.WriteLine("Windows 2000");
                else
                    Console.WriteLine("Windows XP");
                    break;
         }break;
				

Criar o exemplo

Os seguintes passos criar um cenário de teste demonstra esta funcionalidade:
  1. No Visual Studio. NET, abra uma aplicação de consola do C# nova. A janela código Class1.cs abre por predefinição.

    Nota No Visual Studio 2005 ou no Visual Studio 2008, o ficheiro predefinido é Program.cs. Pode clicar duas vezes Program.cs para abrir a janela de código.
  2. Substituir todo o código na janela do editor de código Class1.cs o seguinte código de exemplo:
    using System;
    
    namespace determineOS_CS
    {  
    class Class1
       {
          static void Main(string[] args)
          {
             // Get OperatingSystem information from the system namespace.
             System.OperatingSystem osInfo =System.Environment.OSVersion;
             
             // Determine the platform.
             switch(osInfo.Platform)
             {
                // Platform is Windows 95, Windows 98, 
                // Windows 98 Second Edition, or Windows Me.
                case System.PlatformID.Win32Windows:
             
                   switch (osInfo.Version.Minor)
                   {
                      case 0:
                         Console.WriteLine ("Windows 95");
                         break;
                      case 10:
                         if(osInfo.Version.Revision.ToString()=="2222A")
                            Console.WriteLine("Windows 98 Second Edition");
                         else
                            Console.WriteLine("Windows 98");
                         break;
                      case  90:
                         Console.WriteLine("Windows Me");
                         break;
                   }
                   break;
             
                // Platform is Windows NT 3.51, Windows NT 4.0, Windows 2000,
                // or Windows XP.
                case System.PlatformID.Win32NT:
    
                   switch(osInfo.Version.Major)
    
                   {
                      case 3:
                         Console.WriteLine("Windows NT 3.51");
                         break;
                      case 4:
                         Console.WriteLine("Windows NT 4.0");
                         break;
                      case 5:
                         if (osInfo.Version.Minor==0) 
                            Console.WriteLine("Windows 2000");
                         else
                            Console.WriteLine("Windows XP");
                         break;
                   }break;
             }
             Console.ReadLine ();
          }
       }
    }
    					
  3. Prima CTRL + F5 para executar a aplicação. Note que a versão do Windows aparece na janela da consola.

Propriedades

Artigo: 304283 - Última revisão: 15 de julho de 2008 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# 2008 Express Edition
Palavras-chave: 
kbmt kbhowtomaster kbprod2web KB304283 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: 304283

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