因此,当我使用函数IsWin2000()来判断运行我的应用程序的计算机是否正在运行Windows 2000时,我收到警告:
warning C4996: 'IsWin2000': This function is exported to support existing modules and is obsolete.
如果这是一个过时的,已弃用的函数,那么查询正在运行的操作系统的正确方法是什么?有没有其他方法可以完成这项任务,或者是我唯一的选择来简单地抑制警告?谢谢!
答案 0 :(得分:3)
请参阅OSVERSIONINFO
的备注,了解结果列表以及如何解释它们。有关完整的示例,请参阅Getting the System Version。
不要忘记规范的内容:
识别当前的操作 系统通常不是最好的方法 确定是否特定 存在操作系统功能。 这是因为操作系统 可能已经添加了新功能 可再发行的DLL。而不是使用 GetVersionEx确定了 操作系统平台或版本 数字,测试的存在 功能本身
答案 1 :(得分:2)
这不是标准的Windows API函数。也许如果你提到它的位置,我们可以提供更多信息。
正确的方法取决于你想要完成的事情。创建调试日志或错误报告时,应调用GetVersionEx
。
出于任何其他目的,您应该测试您尝试使用的实际功能,通常使用GetProcAddress
,而不是硬编码版本测试。