3

我打算使用 vista 之后可用的媒体基础 API 编写一段代码。我想在#if 块中添加代码,例如...

#if <SomeMacro>
// all the classes using MediaFoundation go here.
#endif

我找不到检测操作系统版本的宏。这通常是如何在 Windows 上完成的?我发现 _WIN32 和 _WIN64 可以检测 32 位和 64 位,但没有确定 api 可用性的宏。有没有更好的方法根据 vc.. 中的 API 可用性隔离代码?

谢谢,阿比奈。

4

3 回答 3

2

是的,它们是:http: //msdn.microsoft.com/en-us/library/aa383745 (VS.85).aspx

于 2010-11-23T17:11:18.203 回答
2

并不真地。您可以做的最好的事情是关闭 WIN32_WINNT 宏,但是如果有人转身尝试在 XP 上运行您的应用程序,这对您没有帮助。

于 2010-11-24T22:24:16.563 回答
1

试试_WIN32_WINNTWINVER宏。更多信息在这里:http: //msdn.microsoft.com/en-us/library/aa383745%28VS.85%29.aspx

尝试类似的东西,

#ifdef _WIN32_WINNT_VISTA
    #if WINVER >= _WIN32_WINNT_VISTA
        //....
    #endif
#endif
于 2010-11-23T17:13:24.397 回答