Загрузка...

How to determine a users Windows version?

Thread in C# created by OmegaMarket Jun 25, 2024. 277 views

  1. OmegaMarket
    OmegaMarket Topic starter Jun 25, 2024 Banned 478 Dec 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 Jun 25, 2024 Лучший софт - lolz.live/threads/1634798/ :+rep: 12,236 Mar 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. View previous comments (4)
    2. OmegaMarket Topic starter
      AIexa, понял, пойду гуглить
    3. 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());
      }
      }

    4. OmegaMarket Topic starter
      1xday, пойду пробовать
    5. View the next comments (5)
  3. witchbladeq
    witchbladeq Jun 25, 2024 :sueta::sueta::beer: 81 Apr 21, 2022
Loading...
Top