Microsoft Windows SDK
新バージョンのWindowsで提供される新機能を使ったアプリケーションソフトウェア(新しいWindows APIあるいはCOMコンポーネントを使ったソフトウェア)を開発する場合、基本的に対応するC / C++言語用ヘッダファイルやDLLインポートライブラリなどが含まれる新しいWindows SDKを使用することになる。ヘッダファイルをインクルードする前に、WINVERなどのターゲット環境のバージョン番号を表すマクロシンボルを適切に定義することで、新しいWindows API関数や新しい構造体が使用できるようになる。逆に、新しいSDKで古い実行環境をサポートする場合も、同様にマクロシンボルを適切に定義してAPIバージョンを制限する必要がある。古いバージョンのWindowsもターゲットに含めつつ、新しいバージョンのWindows上では新機能を使いたい場合、GetProcAddress()を使ってシステムDLLから新しいAPI関数のエントリポイントを動的に取得するなどの方法を採る。
コンパイラやSDKのバージョンによっては、古いバージョンのWindowsを実行環境としてサポートしない。例えばWindows 10 SDKでは、Windows 7 SP1以降を対象としたコードの記述をサポートする。
また、マイクロソフトが提供しているソフトウェア統合開発環境であるVisual Studioには、標準でWindows SDKが含まれているが、こちらは基本的に単体で提供されているSDKのサブセットやマイナーチェンジであり、単体版と比較してサンプルやツール類の一部が含まれていないことがある。なお、対応する単体版のSDKを使用するようにVisual Studioを設定することも可能である。