2015-03-22 2 views
1

Мне нравится проверять, работает ли оконное окно Windows 8 или Windows 8.1. С Windows, Major CheckC# Получить имя ОС Windows 8.1

6.2 -> Win 8

6,3 -> Win 8,1

Это не работает, потому что с выходом ОС Windows 8.1, поведение GetVersion API изменилось в значение, которое оно вернет для версии операционной системы.

Как я могу получить Версию правильно?

+0

http://stackoverflow.com/questions/24926804/how-to-detect-windows-phone-8-1-os-version-programatically – Sajeetharan

+0

Это для Windows Phone, но не для окон рабочего стола –

ответ

2

Вы можете найти эту информацию в реестре Windows. Например, если вы установили Windows 8.1 Помощь Pro Edition и выполнить эти строки:

using Microsoft.Win32;  
//... 

var windowsName= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "ProductName",""); 
var version= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentVersion", ""); 
var build= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentBuild", ""); 

Вы получите Windows 8.1 Pro, 6.3 и 9600 соответственно.

Кроме того, вы можете использовать WMI, чтобы получить имя для Windows, проверьте ответ в этом post:

public static string GetOSFriendlyName() 
{ 
    string result = string.Empty; 
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem"); 
    foreach (ManagementObject os in searcher.Get()) 
    { 
    result = os["Caption"].ToString(); 
    break; 
    } 
    return result; 
} 
2

попробовать этот

это concats основной версии не следует минорной версия есть много способов, чтобы играть с по здесь Environment Class (System)

string ver = Environment.OSVersion.Version.Major + "." + Environment.OSVersion.Version.Minor; 

и результат будет:

6,2

+0

Хотя этот блок кода может ответить на вопрос, было бы лучше, если бы вы могли дать небольшое объяснение, почему оно это делает. – David

+0

Но есть примечание, в котором говорится: «Свойство OSVersion сообщает тот же номер версии (6.2.0.0) для Windows 8 и Windows 8.1». –

Смежные вопросы