オペレーティング システムのバージョン
バージョン API ヘルパー関数は、現在実行中のオペレーティング システムのバージョンを決定するために使用されます。 詳細については、「 システム バージョンの取得」を参照してください。
次の表は、最新のオペレーティング システムのバージョン番号をまとめたものです。
オペレーティング システム | バージョン番号 |
---|---|
Windows 11 | 10.0* |
Windows 10 | 10.0* |
Windows Server 2022 | 10.0* |
Windows Server 2019 | 10.0* |
Windows Server 2016 | 10.0* |
Windows 8.1 | 6.3* |
Windows Server 2012 R2 | 6.3* |
Windows 8 | 6.2 |
Windows Server 2012 | 6.2 |
Windows 7 | 6.1 |
Windows Server 2008 R2 | 6.1 |
Windows Server 2008 | 6.0 |
Windows Vista | 6.0 |
Windows Server 2003 R2 | 5.2 |
Windows Server 2003 | 5.2 |
Windows XP 64 ビット エディション | 5.2 |
Windows XP | 5.1 |
Windows 2000 | 5.0 |
*Windows 8.1またはWindows 10用にマニフェストされたアプリケーションの場合。 Windows 8.1またはWindows 10にマニフェストされていないアプリケーションは、Windows 8 OS バージョン値 (6.2) を返します。 Windows 8.1またはWindows 10用にアプリケーションをマニフェストするには、「Windows 用アプリケーションのターゲット設定」を参照してください。
現在のオペレーティング システムを特定することは、通常、特定のオペレーティング システム機能が存在するかどうかを判断する最善の方法ではありません。 これは、オペレーティング システムに再頒布可能 DLL に新機能が追加された可能性があるためです。 バージョン API ヘルパー関数を使用してオペレーティング システムのプラットフォームまたはバージョン番号を決定するのではなく、機能自体が存在するかどうかをテストします。
機能のテストに最適な方法を決定するには、目的の機能に関するドキュメントを参照してください。 次の一覧では、機能検出に関するいくつかの一般的な手法について説明します。
- 機能に関連付けられている関数の有無をテストできます。 システム DLL に関数が存在することをテストするには、 LoadLibrary 関数を呼び出して DLL を読み込みます。 次に 、GetProcAddress 関数を呼び出して、目的の関数が DLL に存在するかどうかを判断します。 GetProcAddress によって返されるポインターを使用して、 関数を呼び出します。 関数が存在する場合でも、ERROR_CALL_NOT_IMPLEMENTEDなどのエラー コードを返すスタブである可能性があることに注意してください。
- GetSystemMetrics 関数を使用して、一部の機能の存在を確認できます。 たとえば、 GetSystemMetrics(SM_CMONITORS) を呼び出すことで、複数のディスプレイ モニターを検出できます。
- シェルと一般的な制御機能を実装する再頒布可能 DLL には、いくつかのバージョンがあります。 アプリケーションが実行されているシステム上に存在するバージョンの決定については、 シェルおよび共通コントロールのバージョンに関するトピックを参照してください。
特定のオペレーティング システムが必要な場合は、1 つのオペレーティング システムのテストを設計するのではなく、サポートされている最小バージョンとして使用してください。 これにより、検出コードは将来のバージョンの Windows で引き続き機能します。
32 ビット アプリケーションでは 、IsWow64Process 関数を呼び出すことで、WOW64 で実行されているかどうかを検出できることに注意してください。 GetNativeSystemInfo 関数を呼び出すことで、追加のプロセッサ情報を取得できます。
詳細については、「Windows 10 リリース情報」と「Windows ライフサイクル ファクト シート」を参照してください。