【问题标题】:Is there a macro to detect the operating system...?是否有检测操作系统的宏...?
【发布时间】:2010-11-23 17:04:33
【问题描述】:

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

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

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

谢谢, 阿比奈。

【问题讨论】:

    标签: windows winapi visual-c++ windows-7 ms-media-foundation


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        试试_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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-24
          • 2021-10-24
          • 1970-01-01
          • 2012-02-05
          • 1970-01-01
          • 2014-06-25
          • 2014-04-14
          • 2012-08-16
          相关资源
          最近更新 更多