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())
1xday, нахера тебе столько if'ов? var windowsVersion = Environment.OSVersion.Version switch { { Major: 6 } and { Minor: >= 2 } or { Major: 10 } => "Windows 10+", { Major: 6 } => "Windows Vista/7/8/8.1", _ => "Старше Windows Vista" }; Console.WriteLine(windowsVersion); CSHARP var windowsVersion = Environment.OSVersion.Version switch { { Major: 6 } and { Minor: >= 2 } or { Major: 10 } => "Windows 10+", { Major: 6 } => "Windows Vista/7/8/8.1", _ => "Старше Windows Vista" }; Console.WriteLine(windowsVersion);