Вы можете найти эту информацию в реестре 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;
}
http://stackoverflow.com/questions/24926804/how-to-detect-windows-phone-8-1-os-version-programatically – Sajeetharan
Это для Windows Phone, но не для окон рабочего стола –