【发布时间】:2010-03-05 01:49:05
【问题描述】:
当 GetVersionEx 在 Windows XP 上成功返回时,它生成的结构的 dwMajorVersion 字段的值应该是 5。在什么合法的情况下——在 Windows XP 下运行——它的值可能是 7?
【问题讨论】:
-
在windows 7的XP模式下运行?
-
@tommieb75:Windows 7 实际上是 Windows 6.1 版,所以 dwMajorVersion = 6。我不知道在兼容模式下运行时 GetVersionEx 的行为是什么。
-
@James:有趣...从不知道...似乎 MS 的版本在那里不同步...:P
-
“如果兼容模式生效,GetVersionEx 函数会报告操作系统,因为它标识自己,它可能不是安装的操作系统” (msdn.microsoft.com/en-us/library/ms724451%28VS.85%29.aspx)。因此,在 Windows 7 中的 XP 模式下运行,我希望 GetVersionEx 返回 5 的主要版本。
-
一个简单的解释是 GetVersionEx() 返回 FALSE。你检查了吗?