以下问题包含检测系统运行的是 Windows 10 还是 Windows 11 的各种方法:
\n\n然而,它们看起来都有点“hackish”和脆弱:检查文件版本、内部版本号、API 可用性等。由于 Windows 11 的发布即将到来(预计 10 月 5 日),软件供应商并没有太多的信息。还剩下准备时间。因此我的问题是:
\n如果您有正当理由\xc2\xb9 需要了解,Microsoft 是否为软件开发人员发布了官方推荐的检查 Windows 11 的方法?
\n\xc2\xb9 我知道许多程序认为它们需要检查操作系统版本号,而事实上,它们应该只关心它们所需的特定功能的可用性。我完全支持这一点。但是,存在合法的用例(例如,系统管理或软件清单工具),并且我要求您为此问题假设一个合法的用例。
\nPS:这个问题是故意不局限于特定技术的;我认为任何官方支持的解决方案(使用 WinAPI、WMI、COM、.NET 等)都是有效的答案。
\n我使用 TOSVersion.ToString 函数(使用 SysUtils)来检测 Windows 版本。然而,这是我在 Windows11 中得到的:
Windows 10 (Version 10.0, Build 21996, 64-bit Edition)
有没有可靠的方法来检测Windows 11?我正在使用德尔福10.3.3。
更新:Windows 11 正式发布,我再次尝试。这是我得到的:
Windows 10 (Version 10.0, Build 22000, 64-bit Edition)