Windowsのバージョンを取得する =========================== 最新のC++Builderでコンパイルすると、`GetVersionExW` 関数を使っていると以下の警告がでた。(今後推奨されない関数との事) ``` [bcc32c 警告] UEnv.cpp(376): 'GetVersionExW' is deprecated sysinfoapi.h(383): 'GetVersionExW' has been explicitly marked deprecated here ``` その対応について備忘録を残す。 TOSVersion構造体を利用 --------------------- [[http://docwiki.embarcadero.com/Libraries/Rio/ja/System.SysUtils.TOSVersion|TOSVersion構造体]]を利用し、Windowsバージョンを以下の方法で取得。 ### メジャーバージョン [[http://docwiki.embarcadero.com/Libraries/XE3/ja/System.SysUtils.TOSVersion.Major|TOSVersion.Major]]で取得できる。 int majorVersion = TOSVersion::Major; ### マイナーバージョン [[http://docwiki.embarcadero.com/Libraries/XE3/ja/System.SysUtils.TOSVersion.Minor|TOSVersion.Minor]]で取得できる。 int minorVersion = TOSVersion::Minor; OSの識別 -------- Windowsの各バージョンの値は次のようになっている。 ^ OS種類 ^ メジャーバージョン ^ マイナーバージョン ^ 備考 ^ | Windows 95 | 4 | 0 | | | Windows 98 | 4 | 10 | | | Windows Me | 4 | 90 | | | Windows NT 4.0 | 4 | 0 | `WIN32_NT`プラットフォーム | | Windows 2000 | 5 | 0 | | | Windows XP | 5 | 1 | | | Windows 2003 | 5 | 2 | | | Windows Vista | 6 | 0 | | | Windows 7 | 6 | 1 | | | Windows 8 | 6 | 2 | | | Windows 8.1 | 6 | 3 | | | Windows 10 | 10 | 0 | | 参考 ---- 1. [[https://www.gesource.jp/programming/bcb/77.html|Windowsのバージョンを取得する]]