Всем известно, что в C# текущую операционную систему можно оценить по Environment.OSVersion, и ниже приведена соответствие между операционной системой и первичной и вторичной версиями:
Операционная система | Основная версия. Подверсия | | Windows 10 | 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 | | Windows Vista | 6 | | 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 |
Мы можем использовать Environment.OSVersion для определения текущей операционной системы
Однако, когда вы внутриwin10Использование этой функции на операционной системе даст следующий результат:6.2.9200.0, вместо тех 10.0.***, как мы ожидали.
Проблема в том, что значение, полученное по Win10, может не быть 10, что указывает на адрес:Вход по гиперссылке виден.
Для приложений, которые были созданы для Windows 8.1 или Windows 10. Приложения, не проявленные для Windows 8.1 или Windows 10, вернут значение версии Windows 8 OS (6.2). Чтобы проявить ваши приложения для Windows 8.1 или Windows 10, обратитесь к разделу «Таргетирование вашего приложения для Windows». Теперь требуется файл манифеста программы
Затем удалите комментарии ниже, и вы сможете вернуться к версии 10.0.****
Есть другой способ сделать это:
Используйте C#, чтобы определить, является ли текущая операционная система Win8 (Этот метод не требует добавления файла манифеста программы)
Код:
(Конец)
|