方法: Windows デスクトップ アプリケーションでの Windows SDK の使用

Visual Studio で新しいクラシック Windows デスクトップ プロジェクトを作成すると、既定で Visual Studio によってインストールされた最新の Windows SDK が対象になります。 Visual Studio では、C++ デスクトップ ワークロードをインストールするときのバージョンの SDK がインストールされます。 Windows SDK では、Windows 7 SP1 以降のコードの作成がサポートされています。 特定バージョンの Windows を対象とする方法の詳細については、「Windows ヘッダーの使用」および「WINVER および _WIN32_WINNT の更新」を参照してください。

既存のプロジェクトをアップグレードする場合は、次の選択肢があります。すなわち、プロジェクトで指定されたターゲットの Windows SDK を引き続き使用できます。 または、最新の Windows SDK を使用するようにプロジェクトをターゲットとして再指定できます。 最新の Windows SDK を使用すると、最新のオペレーティング システムと言語標準に対するサポートを利用できます。

プロジェクトに適した Windows SDK を使用する

Visual Studio 2015 以降、C ランタイム (CRT) ライブラリは 2 つの部分に分離されました。1 つの部分である ucrtbase には、ユニバーサル Windows アプリで使用できる標準 C と Microsoft 固有の CRT 関数が含まれています。 このライブラリはユニバーサル CRT (UCRT) と呼ばれ、Windows SDK に移行されました。 UCRT には、最新の C++ 言語標準をサポートするために必要な、C99 関数などの多くの新しい関数が含まれています。 元の CRT のもう 1 つの部分は vcruntime です。 これには、C ランタイムのサポート、スタートアップ、終了コード、および UCRT に入らなかったその他のすべてが含まれています。 vcruntime ライブラリは、C++ コンパイラとツールセットと共に Visual Studio にインストールされます。 詳しくは、「CRT ライブラリの機能」をご覧ください。

UCRT は現在、Windows 10 以降のすべてのバージョンにインストールされているシステム コンポーネントです。 また、以前にサポートされていたすべての Windows バージョンでインストール可能なコンポーネントとしても使用できます。 Windows SDK を使用すると、サポートされているすべての Windows バージョンをターゲットにすることができます。 サポートされるオペレーティング システムの全一覧については、「Windows SDK」を参照してください。

Visual Studio 2015 より前のプロジェクト バージョンからアップグレードするときに、最新の Windows SDK を使用するようにプロジェクトのターゲットを変更するには、次の手順に従います。

最新の Windows SDK をターゲットにするには

  1. 最新の Windows SDK がインストールされていることを確認します。 Windows SDK は、Visual Studio インストーラーで [C++ によるデスクトップ開発] ワークロードの一部としてインストールされます。 スタンドアロン バージョンは、Windows SDK で使用できます。

  2. プロジェクト ノードのショートカット メニューを開き、[Retarget projects] (プロジェクトの再ターゲット) を選択します。 (以前のバージョンの Visual Studio では、 SDK のバージョンを再ターゲットします。)[ソリューション アクションの 確認] ダイアログが表示されます。

    Review Solution Actions.

  3. [ターゲット プラットフォーム バージョン] ドロップダウン リストで、ターゲットにする Windows SDK のバージョンを選択します。 一般に、インストールされている最新バージョンを選択することをお勧めします。 [OK] ボタンを選択して変更を適用します。

    このコンテキストの 8.1 は、Windows 8.1 SDK を指します。

    この手順が成功すると、出力ウィンドウに次のテキストが表示されます。

    Retargeting End: 1 completed, 0 failed, 0 skipped

  4. プロジェクトのプロパティ ダイアログを開きます。 [構成プロパティ]>[全般] セクションで、 [Windows Target Platform Version] (Windows ターゲット プラットフォームのバージョン) の値を確認します。 ここで値を変更することは、この手順を実行するのと同じ効果があります。 詳細については、「[全般] プロパティ ページ (プロジェクト)」を参照してください。

    Target Platform property in the Property Pages dialog.

    この操作は、ヘッダー ファイルとライブラリ ファイルへのパスを含むプロジェクトのマクロの値を変更します。 変更内容を確認するには、[プロジェクト プロパティ] ダイアログの [Visual C++ ディレクトリ] セクションを開きます。 [インクルード ディレクトリ] などのいずれかのプロパティを選択します。 次に、プロパティ値のドロップダウン リストを開き、[<編集>] を選択 します。 [インクルード ディレクトリ] ダイアログが表示されます。

    Include Directories dialog box.

    [マクロ >>] ボタンを選択し、マクロの一覧を Windows SDK マクロまでスクロール ダウンして、すべての新しい値を確認します。

    List of Windows SDK Macros.

  5. 必要に応じて、他のソリューション プロジェクトに対して再ターゲット手順を繰り返し、ソリューションをリビルドします。

Windows 8.1 SDK をターゲットとするには

  1. ソリューション エクスプローラーでプロジェクト ノードのショートカット メニューを開き、[Retarget projects] (プロジェクトの再ターゲット) を選択します。 (以前のバージョンの Visual Studio では、[Retarget SDK Version] (SDK バージョンの再ターゲット) を選択します。)

  2. [ターゲット プラットフォーム バージョン] ドロップダウン リストで、8.1 を選択します。

関連項目

チュートリアル: 従来の Windows デスクトップ アプリケーションを作成する (C++)