是否有宏检测操作系统...?
问题描述:
我打算使用vista后可用的媒体基础API编写一段代码。我想在#if块内添加代码,如...是否有宏检测操作系统...?
#if <SomeMacro>
// all the classes using MediaFoundation go here.
#endif
我找不到检测操作系统版本的宏。这通常如何在Windows上完成?我发现_WIN32和_WIN64检测32位和64位,但没有宏来确定api可用性。有没有更好的方法来分离基于vc中API可用性的代码..?
谢谢, Abhinay。
答
尝试_WIN32_WINNT
和WINVER
宏。这里更多的信息:http://msdn.microsoft.com/en-us/library/aa383745%28VS.85%29.aspx
尝试类似,
#ifdef _WIN32_WINNT_VISTA
#if WINVER >= _WIN32_WINNT_VISTA
//....
#endif
#endif
答
不是真的。你可以做的最好的办法是关闭WIN32_WINNT宏,但是如果有人转身试图在XP上运行你的应用程序,这并不能帮助你。