В гостевой учетной записи в windows 8 как определить версию windows?

Когда мы входим с гостевой учетной записи в Windows 8 и пытаемся найти версию, она выдает ошибку и то же значение, что и Windows 8. Пожалуйста, предложите какой-нибудь код ИЛИ API, который будет работать как для Windows 8, так и для Windows 8.1.


person Nikita Jain    schedule 24.10.2013    source источник
comment
Вы должны задать этот вопрос на сайте superuser.com.   -  person Ash Burlaczenko    schedule 24.10.2013
comment
@AshBurlaczenko Он хочет сделать это с помощью кода.   -  person Lloyd    schedule 24.10.2013
comment
@OP Что вы используете сейчас для получения версии?   -  person Lloyd    schedule 24.10.2013
comment
Когда мы входим в систему из гостевой учетной записи в Windows 8 и пытаемся найти версию, которую она выдает... то же значение, что и в Windows 8 Да, Windows 8 сообщит, что это Windows 8...   -  person ta.speot.is    schedule 25.10.2013


Ответы (1)


Это дает вам некоторые базовые знания: Как мы можем проверить, является ли текущая ОС win8 или синей

И это то, что работает для меня:

// this might only work as long as there's no successor to Windows 8.1
public Version GetVersion()
{
   var reportedVersion = System.Environment.OSVersion.Version;
   if (reportedVersion.Major==6 && reportedVersion.Minor==2)
   {
      bool _IsWindows8Point1OrGreater = Type.GetType("Windows.UI.Xaml.Controls.Flyout, Windows.UI.Xaml, ContentType=WindowsRuntime", false) != null;
      if(_IsWindows8Point1OrGreater )
      reportedVersion = new Version(6,3); 
   }
   return reportedVersion;
}
person HDW Production    schedule 24.10.2013
comment
это даст результат в истинном и ложном. Мне нужен код, который правильно работает как для Windows 8, так и для 8.1. - person Nikita Jain; 25.10.2013
comment
Итак, сколько разных версий вы ожидаете, когда помечаете свой вопрос как Windows 8??? ... Я исправил пост выше. - person HDW Production; 25.10.2013
comment
Вы должны подумать, почему вам нужно знать, точно 8.0 или 8.1, а не по крайней мере 8.0 или 8.1. - person ta.speot.is; 25.10.2013
comment
ta.speot.is: веская причина в том, что некоторые API ведут себя по-разному при работе на 8.1; даже если приложение скомпилировано для версии 8.0. - person HDW Production; 25.10.2013
comment
Но если такое поведение останется, то проверять 8.1 глупо, потому что когда выйдет 8.2, ваш код не сработает. Вот почему вы проверяете как минимум 8.1 - person ta.speot.is; 25.10.2013
comment
Правильный. Отсюда комментарий над кодом. Если такое поведение сохранится, нам придется добавить следующий обходной путь, как только будет выпущена версия 8.2 или 9.0. ;-) - person HDW Production; 25.10.2013