Загрузка...

Как определить версию Windows у пользователя?

Тема в разделе C# создана пользователем OmegaMarket 25 июн 2024. 276 просмотров

  1. OmegaMarket
    OmegaMarket Автор темы 25 июн 2024 Заблокирован(а) 478 6 дек 2019
    CSHARP
    if (Environment.OSVersion.Version.Major >= 10){
    Console.WriteLine("винда 10+");
    } else {
    Console.WriteLine("винда не 10-");
    }
    Я юзаю такой метод, но на винде 10 и 11 функция Environment.OSVersion.Version.Major выводит цифру 6. Почему так?
     
  2. AIexa
    AIexa 25 июн 2024 Лучший софт - lolz.live/threads/1634798/ :+rep: 12 236 24 мар 2020
    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())
     
    1. Посмотреть предыдущие комментарии (5)
    2. 1xday
      OmegaMarket,
      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");
      }
      либо


      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());
      }
      }

    3. OmegaMarket Автор темы
      1xday, пойду пробовать
    4. AIexa
      1xday, осуждаю, даже погуглить ему не дал шанса
    5. Посмотреть следующие комментарии (4)
  3. witchbladeq
    witchbladeq 25 июн 2024 :sueta::sueta::beer: 81 21 апр 2022
Загрузка...
Top