Windows 10 的注册表版本值?
Posted
技术标签:
【中文标题】Windows 10 的注册表版本值?【英文标题】:Registry edition values of Windows 10? 【发布时间】:2021-12-05 05:31:18 【问题描述】:我想从注册表获取 Windows 10 操作系统版本。我正在阅读以下 C# 代码中的注册表项以获取 Windows 10/11 操作系统的版本:
SOFTWARE\Microsoft\Windows NT\CurrentVersion\EditionID
这是 C# 代码:
using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"))
if (key != null)
var keyValue = key.GetValue("EditionID");
var osEdition = keyValue.ToString();
我需要知道此 EditionID
密钥中将出现的字符串,用于各种风格的 Windows 10 版本。我无法获得任何相关的 Microsoft 文档。 Windows 10 主要版本如下:
-
Windows 10 专业版
适用于工作站的 Windows 10 专业版
Windows 10 教育版
Windows 10 专业教育版
Windows 10 企业版
Windows 10 企业版 2019 LTS/LTSC/LTSB
Windows 10 家庭版
我的 PC 上有一个 Enterprise
版 Windows 10 操作系统。所以我知道对于Enterprise
版本,此注册表值为Enterprise
。我需要知道其余的。
【问题讨论】:
所以基本上你只想要windows 10,你试过使用Environment.OSVersion
并检查主要版本是10吗?
我可以通过读取 SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMajorVersionNumber
注册表项来检测 Windows 10 操作系统。但我对特定版本的 Windows 10 感兴趣,例如我想知道它是否有Pro for Workstations
版本。
我知道您目前专注于版本问题,但您是否真的需要版本,或者您是否需要知道某些 windows 功能 是否可用,并且您正在使用前者作为后者的代理?因为如果是这样,您应该切换到功能测试。
我的问题是弄清楚当前机器操作系统是否可以注册到 Windows Autopilot。只有某些特定版本的 Windows 10 和 Windows 11 支持它。据我所知,检查操作系统版本是了解这一点的唯一方法。如果功能检查可以告诉我此功能,那就太好了。我更新了帖子的标题,让我的意图更加明确。
这似乎是一件非常需要检查的事情,将来也可能会发生变化。它非常具体,可能不值得检查,而是尝试注册它并查看它是否失败,具体结果是不支持 Windows 的版本/版本。
【参考方案1】:
已确认
适用于工作站的 Windows 10 专业版 - ProfessionalWorkstation
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 你是怎么找到这个值的?你是在自己的电脑上看到的吗?如果是,请发布屏幕截图。会有帮助的。【参考方案2】:我已经获得了其中的一些。如果您发现有人安装在您的办公室、学校或家中,请随时编辑此帖子。
Windows 10 专业版 - “专业版” Windows 10 Pro for Workstations - “ProfessionalWorkstation” Windows 10 教育版 - “教育版” Windows 10 专业教育版 - “专业教育” Windows 10 企业版 - “企业版” Windows 10 企业版 2019 LTS/LTSC/LTSB - ?? Windows 10 主页 - “主页”【讨论】:
【参考方案3】:鉴于您尝试解决的问题的描述以及我正在尝试做类似事情的事实,我偶然发现了仪器管理中的 Win32_OperatingSystem 类。
var query = new SelectQuery("SELECT * FROM Win32_OperatingSystem");
var searcher = new ManagementObjectSearcher(query);
var results = searcher.Get().OfType<ManagementObject>().First();
在此之后,您可以使用“Caption”属性来获取已安装 Windows 版本的确切字符串。 我举了三个例子:
10 Enterprise Multisession = 适用于虚拟桌面的 Microsoft Windows 10 Enterprise 常规 10 企业版 = Microsoft Windows 10 专业版 Server 2012R2 = Microsoft Windows Server 2012 R2 标准版您还可以挖掘该类的其他属性以尝试获取所需的信息。
【讨论】:
以上是关于Windows 10 的注册表版本值?的主要内容,如果未能解决你的问题,请参考以下文章
windows10版本1709 在桌面和文件中点击右键刷新,会引起卡顿
更改 EnableDesktopModeAutoInvoke 注册表值并使 TabTip.exe 接受更改