是否有*官方*方法来检测 Windows 11?
Posted
技术标签:
【中文标题】是否有*官方*方法来检测 Windows 11?【英文标题】:Is there an *official* way to detect Windows 11? 【发布时间】:2021-11-21 04:29:48 【问题描述】:以下问题包含检测系统运行的是 Windows 10 还是 Windows 11 的各种方法:
How to detect Windows 11 using Delphi 10.3.3但是,它们似乎都有点“老套”和脆弱:检查文件版本、内部版本号、API 可用性等。由于 Windows 11 的发布指日可待(ETA 10 月 5 日),软件供应商不会还有很多时间准备。因此我的问题是:
如果您有正当理由¹需要了解,Microsoft 是否发布了官方推荐供软件开发人员检查 Windows 11 的方法?
¹我知道许多程序认为他们需要检查操作系统版本号,而事实上,他们应该只关心他们需要的特定功能的可用性。我完全支持这一点。但是,有一些合法的用例(例如,系统管理或软件清单工具),我希望您为这个问题的目的假设一个合法的用例。
PS:这个问题故意不限制特定的技术;我认为任何官方支持的解决方案(使用 WinAPI、WMI、COM、.NET,...)都是有效的答案。
【问题讨论】:
【参考方案1】:Windows 11 的架构基本上仍然使用 Windows 10。Windows 10 有大量剩余的文件和系统。发生了大量事件,例如错误命名的更新名称。 Windows 11 仍然使用 Windows 10 版本号。现在虽然命令提示符已经过时,但它仍然是所有 Windows 系统的核心系统。所以我做了一些可以使用 systeminfo (slow, ik) 检测的东西
From: https://www.lifewire.com/windows-version-numbers-2625171
systeminfo | findstr /i /c:"windows 11" > nul && code here for windows 11 || code here for not windows 11
我知道这可能不是您正在寻找的解决方案,并且很难在现代应用中实现批处理脚本,但很乐意提供帮助!
【讨论】:
【参考方案2】:Microsoft Q&A 上的问题线程"Windows 11 build ver is still 10.0.22000.194" 已收到两名 Microsoft 员工的回复。在接受的答案中,有人说:
至少目前,操作系统内部版本号 22000 是区分 Windows 10 和 Windows 11 的标准。
并且,在答案下方的评论中,另一个补充道:
这是正确的。 10.0.22000.0 以上为 Win 11。以下为 Win 10。
这表明,在撰写本文时,在 Windows 11 公开发布一周后,微软尚未发布针对软件开发人员的官方推荐。这可能会在某个时候明显改变,但在此之前,22000 内部版本号似乎是人们在 Windows 10 和 11 之间划清界限的标准。
【讨论】:
以上是关于是否有*官方*方法来检测 Windows 11?的主要内容,如果未能解决你的问题,请参考以下文章
我在VMware fusion虚拟机装Win11时,系统提示0xc0000017?