【发布时间】:2013-02-02 17:08:46
【问题描述】:
How can I determine the Windows version from a VB 6 app 这个问题有一个来自 Cody Gray 的非常有用的答案,它利用 GetVersionEx 和 Select Case 语句将 Windows 版本作为用户友好的字符串返回。
但是,给出的代码是有限的,因为所有返回值都是硬编码的,这意味着它不是面向未来的,每次新版本的 Windows 出现时都需要重写,例如 Windows 8。
除了使用 GetVersionEx 和 Select Case 语句之外,是否还有其他选择来检索用户友好的操作系统名称,该名称也将相对面向未来?
【问题讨论】:
-
到底是什么让您认为 GetVersionEx 不会在未来的 Windows 版本中得到支持?
-
@HansPassant 如果您查看答案和示例代码,您会发现在使用 GetVersionEx 之后,您必须使用硬编码值执行复杂的 Select 语句。因此,每次发布新版本的 Windows 时,您都必须修复代码。
-
所以这是关于显示操作系统的营销名称(“Windows UltraModern Spiffy Penultimate Lunar Edition”)?而不是出于某种功能原因检测平台?
-
是的,这就是我所说的“用户友好”的意思
-
@HansPassant GetVersionEx 现已弃用:msdn.microsoft.com/en-us/library/windows/desktop/…