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

あまり。最善の方法は、WIN32_WINNTマクロをキーオフすることですが、誰かが振り返ってXPでアプリケーションを実行しようとしても、それは役に立ちません。

于 2010-11-24T22:24:16.563 に答える
2

はい、ここにあります: http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx

于 2010-11-23T17:11:18.203 に答える
1

_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
于 2010-11-23T17:13:24.397 に答える