如何根据Windows版本调用不同的Win API?

liu*_*liu 0 winapi fallback

具体问题是,Windows上条件变量的支持从Vista开始,对于早期版本的Windows(Windows XP),我有一个模拟条件变量代码排序解决了这个问题.但是,我希望能够在系统支持时调用本机条件变量API,并且仅在XP和早期版本上回退到我的版本.我尝试使用GetVersionInfo API检测Windows版本,但它仍然在启动时给出错误(无法找到InitializeConditionVariable排序的API条目).

我不熟悉Windows编程,你如何很好地解决温和的后备问题?

pm1*_*100 5

如果要根据平台版本调用可能存在或不存在的函数,请使用动态加载

LoadLibrary和GetProcAddress

这些将告诉您入口点是否存在,然后让它调用它