Всі ми знаємо, що в 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 (Цей метод не вимагає додавання файлу маніфесту програми)
Код:
(Кінець)
|