【问题标题】:What version is Windows, really? [duplicate]Windows 是什么版本,真的吗? [复制]
【发布时间】:2015-12-31 11:28:28
【问题描述】:

我知道并喜欢的 Win32 API 中的版本信息函数似乎改变了它们的行为。 GetVersionEx 现在返回程序清单设置的内容,而不是实际版本。

新函数IsWindows10OrGreater 似乎毫无意义,因为它仅在 Windows 10 或更高版本上可用,因此如果程序包含它并成功链接,它将始终返回 TRUE。

但是,在安装程序或类似程序中,它如何确定当前环境真的是 Windows 10 或更高版本?它需要它来知道要下载什么或为其他程序设置哪些选项。

【问题讨论】:

标签: windows winapi version


【解决方案1】:

你的前提是错误的。 IsWindows10OrGreater 函数是一个,因此如果您使用的是最新版本的 SDK,编译后的程序将适用于所有当前支持的 Windows 版本。 (以及 Windows XP,我认为甚至是 Windows 2000。)

(当然,这个错误是可以理解的,因为文档是错误的。)

请注意,程序的清单仍必须表明它支持 Windows 10 才能使宏工作。

【讨论】:

  • Doc 是错误的:所以它实际上并没有返回 8,但如果在这样的版本上调用它仍然返回实际的旧版本。这只是有道理,但它让我意识到它写得多么糟糕。
  • Windows 8 实际上是 6.2 版(有点)。您可以为IsWindows10orGreater 编写自己的函数。另请参阅此答案:stackoverflow.com/a/34326017/4603670
猜你喜欢
  • 1970-01-01
  • 2016-06-27
  • 1970-01-01
  • 2018-12-25
  • 2010-10-11
  • 2020-01-09
  • 2019-07-27
  • 2010-09-13
  • 2020-09-04
相关资源
最近更新 更多