This question already has answers here:
C++ compile time macros to detect windows os
                                
                                    (5个答案)
                                
                        
                                5年前关闭。
            
                    
我想知道如何根据正在使用的操作系统来执行条件功能,例如,

if ( operatingSystem == Windows7 )
{
   foo()
}
else if ( operatingSystem == WindowsXP )
{
   etc()
}


我很确定预定义的宏不会对此有所帮助,因为您必须在编译之前选择OS宏,我希望该程序具有灵活性,但不幸的是,预处理器宏是我在Google上搜索时获得的唯一答案。感谢您的时间!

最佳答案

您可以使用GetVersionEx()。阅读GetVersionEx functionOSVERSIONINFOEX structure以获得有关如何解释数据的详细信息。

08-17 04:06