Получить операционную систему компьютера в C#
В этом примере используется следующий код для отображения версии операционной системы при ее запуске.
private void Form1_Load(object sender, EventArgs e) { OperatingSystem os_info = System.Environment.OSVersion; lblOs.Text = os_info.VersionString + "\n\nWindows " + GetOsName(os_info); }
Этот пример просто получает объект System.Environment.OSVersion и отображает его свойство VersionString.
Объект OperatingSystem имеет некоторые другие свойства, которые могут быть полезны в некоторых программах.
К сожалению, этот метод работает не очень хорошо, потому что объект возвращает «Microsoft Windows NT» для самых последних операционных систем.
В следующей таблице указаны номера версий, представленные различными операционными системами.
<центр>
центр>
Даже это не работает эффектно. Если приложение Windows 8.1 или Windows 10 не отображается для этой операционной системы, приложение возвращает версию 6.2, чтобы указать Windows 8. Моя система работает под управлением Windows 10, но вы можете видеть, что программа считает, что это Windows 8.
Программа использует следующий код для перевода информации о версии в предположение для имени операционной системы.
// Вернем имя ОС. private string GetOsName(OperatingSystem os_info) { string version = os_info.Version.Major.ToString() + "." + os_info.Version.Minor.ToString(); switch (version) { case "10.0": return "10/Server 2016"; case "6.3": return "8.1/Server 2012 R2"; case "6.2": return "8/Server 2012"; case "6.1": return "7/Server 2008 R2"; case "6.0": return "Server 2008/Vista"; case "5.2": return "Server 2003 R2/Server 2003/XP 64-Bit Edition"; case "5.1": return "XP"; case "5.0": return "2000"; } return "Unknown"; }