You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码获取cmd命令winver返回的Windows系统版本号(如20H2)

实现获取Windows显示版本号(即winver返回的20H2类版本标识)的方案

实现原理

winver展示的如20H2、22H2这类版本标识为Windows系统的显示版本,存放在注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion下的DisplayVersion键值中,1903及之后的Windows版本均支持读取该键值获取对应标识,1903之前的旧版本可读取同路径下的ReleaseId键值作为替代。


各语言实现示例

1. Python

import winreg

def get_win_display_version():
    try:
        key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion")
        version, _ = winreg.QueryValueEx(key, "DisplayVersion")
        winreg.CloseKey(key)
        return version
    except Exception:
        # 适配1903之前的旧版本
        key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion")
        version, _ = winreg.QueryValueEx(key, "ReleaseId")
        winreg.CloseKey(key)
        return version

print(get_win_display_version())

2. C#

using Microsoft.Win32;

public static string GetWindowsDisplayVersion()
{
    try
    {
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"))
        {
            if (key != null)
            {
                object value = key.GetValue("DisplayVersion");
                if (value != null)
                {
                    return value.ToString();
                }
                // 适配旧版本
                value = key.GetValue("ReleaseId");
                return value?.ToString() ?? "Unknown";
            }
        }
    }
    catch
    {
        // 可自行补充异常处理逻辑
    }
    return "Unknown";
}

3. 命令行直接调用

  • CMD命令:
    reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v DisplayVersion
  • PowerShell命令:
    (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").DisplayVersion

内容的提问来源于stack exchange,提问作者Lakk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:06:04