Visual C++ 7.1Visual C++ 7.0Windows 2003Windows 2000Visual C++ 6.0Windows XPMFC中级开发Visual StudioWindowsC++
Windows Millennium Edition 的 GetVersionEx API






2.28/5 (20投票s)
2003年7月15日

67903
你有没有想过为什么 GetVersion 函数报告你的操作系统是 Windows 98,而实际上却是 Windows ME?
引言
如果你曾在多个操作系统上测试过 GetVersionEx
API,它通常都能正常工作,正如你期望的那样,毕竟这是一个经过测试的 API,可以追溯到 Windows 3.1!但如果你尝试在 Windows Millennium Edition 上使用它,情况就不同了,它会返回正确的值,前提是调用应用程序的名称不是
- setup.exe,或者
- launch.exe
很难相信 API 函数中存在这种异常,而 MSDN 论坛或 VC 帮助中没有任何提及。据称这是为了确保与安装程序的向后兼容性(这就是 setup.exe 的由来)。
希望这能帮助那些在编码中遇到问题,抓耳挠腮的人!