Как определить версию Windows с помощью Visual C#

Переводы статьи Переводы статьи
Код статьи: 304283 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В этой статье показано, как определить, какая операционная система используется на компьютере, где выполняется приложение. В данной статье различает Microsoft Windows 95, Microsoft Windows 98, Windows 98 второго издания, Microsoft Windows Millennium Edition (Windows Me), Microsoft Windows NT 3.51, Microsoft Windows NT 4.0, Microsoft Windows 2000 и Microsoft Windows XP.

Требования

  • Microsoft Visual C#.NET
  • Microsoft Visual C# 2005 или Visual C# 2008
  • Промежуточные понимание программирования Visual C#

Получение данных версии Windows

Для определения операционной системы, на котором выполняется в системе, необходимо получить следующие данные:
+--------------------------------------------------------------+
|           |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     |
+--------------------------------------------------------------+
				
ПРИМЕЧАНИЕ: Несмотря на то, что код в этой статье будет подтвержден для использования всех 32-разрядных версий Windows, Windows 95 и Windows NT 3.51 не поддерживают Microsoft Visual Studio.NET или общеязыковая среда выполнения.

Получение сведений об операционной системе

В Система пространство имен содержит класс с именем Операционной системы. Свойства Операционной системы класс предоставляет необходимые сведения об используемой операционной системе. В OSVersion свойства элемента System.Environment Возвращает Операционной системы объект.
    System.OperatingSystem osInfo = System.Environment.OSVersion;
				

Определение платформы

Первым шагом в логической оценки Операционной системы информация может определить, какие платформы уже используется. Можно использовать Идентификатор платформы свойства элемента Операционной системы класс, чтобы определить, какие платформы уже используется.

Например, значение Win32Windows свойство указывает один из следующих операционных систем:
  • Windows 95
  • Windows 98
  • Второй выпуск Windows 98
  • Windows Me
Аналогичным образом WinNT свойство указывает один из следующих операционных систем:
  • 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.
               }
           
         }
				

Определить определенной версии Windows 95, Windows 98, второй выпуск Windows 98 или Windows Me

Если выяснится, что платформа является Windows 95, Windows 98, второй выпуск Windows 98 или Windows Me, анализ для определения конкретной версии основной или дополнительный номер версии.
    // 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;
				

Определить конкретную версию Windows NT, Windows 2000 или Windows XP

Если выяснится, что платформа является Windows NT 3.51, Windows NT 4.0, Windows 2000 или Windows XP, можно проанализировать для определения конкретной версии основной или дополнительный номер версии.
    // 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;
				

Построение примера

Следующие шаги создания сценария теста, который демонстрирует эту функцию:
  1. В Visual Studio.NET, откройте новое консольное приложение C#. По умолчанию открывается окно кода для Class1.cs.

    Примечание В Visual Studio 2005 или Visual Studio 2008 файл по умолчанию является Program.cs. Можно дважды щелкнуть Program.cs Чтобы открыть окно кода.
  2. Замените весь код в окне редактора кода Class1.cs в следующем примере кода:
    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. Нажмите CTRL + F5 для запуска приложения. Обратите внимание на то, что версия Windows отображается в окне консоли.

Свойства

Код статьи: 304283 - Последний отзыв: 5 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# 2008 Express Edition
Ключевые слова: 
kbhowtomaster kbprod2web kbmt KB304283 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:304283

Отправить отзыв

 

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