if (Environment.OSVersion.Version.Major >= 10){ Console.WriteLine("винда 10+"); } else { Console.WriteLine("винда не 10-"); } CSHARP if (Environment.OSVersion.Version.Major >= 10){ Console.WriteLine("винда 10+"); } else { Console.WriteLine("винда не 10-"); } Я юзаю такой метод, но на винде 10 и 11 функция Environment.OSVersion.Version.Major выводит цифру 6. Почему так?
import platform import winreg def get_windows_version(): version = platform.version() release = platform.release() registry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) key = winreg.OpenKey(registry, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion") try: product_name, _ = winreg.QueryValueEx(key, "ProductName") return product_name except FileNotFoundError: return f"Windows {release} (Version {version})" finally: winreg.CloseKey(key) print(get_windows_version()) Python import platform import winreg def get_windows_version(): version = platform.version() release = platform.release() registry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) key = winreg.OpenKey(registry, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion") try: product_name, _ = winreg.QueryValueEx(key, "ProductName") return product_name except FileNotFoundError: return f"Windows {release} (Version {version})" finally: winreg.CloseKey(key) print(get_windows_version())
OmegaMarket, if (Environment.OSVersion.Version.Major >= 6) { if (Environment.OSVersion.Version.Major == 10 || (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 2)) { Console.WriteLine("Windows 10+"); } else if (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 0) { Console.WriteLine("Windows Vista/7/8/8.1"); } else { Console.WriteLine("Старше Windows Vista"); } } else { Console.WriteLine("Старше Windows Vista"); } CSHARP if (Environment.OSVersion.Version.Major >= 6) { if (Environment.OSVersion.Version.Major == 10 || (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 2)) { Console.WriteLine("Windows 10+"); } else if (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor >= 0) { Console.WriteLine("Windows Vista/7/8/8.1"); } else { Console.WriteLine("Старше Windows Vista"); } } else { Console.WriteLine("Старше Windows Vista"); } либо using System; using Microsoft.Win32; public class Program { public static string GetWindowsVersion() { string version = Environment.OSVersion.Version.ToString(); string release = Environment.OSVersion.Platform.ToString(); RegistryKey registry = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default); RegistryKey key = registry.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); try { string productName = (string)key.GetValue("ProductName"); return productName; } catch (Exception) { return $"Windows {release} (Version {version})"; } finally { key.Close(); registry.Close(); } } static void Main(string[] args) { Console.WriteLine(GetWindowsVersion()); } } CSHARP using System; using Microsoft.Win32; public class Program { public static string GetWindowsVersion() { string version = Environment.OSVersion.Version.ToString(); string release = Environment.OSVersion.Platform.ToString(); RegistryKey registry = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default); RegistryKey key = registry.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); try { string productName = (string)key.GetValue("ProductName"); return productName; } catch (Exception) { return $"Windows {release} (Version {version})"; } finally { key.Close(); registry.Close(); } } static void Main(string[] args) { Console.WriteLine(GetWindowsVersion()); } }