現在の Windows バージョンを識別する C++ プログラムを作成しようとしています。そのような質問と回答を何十も見ましたが、どれもうまくいきませんでした。
Windows 10 Home エディションを実行しています。
Visual Studio 2015 を使用しています。
私が試した最初のオプション:
OSVERSIONINFO osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
cout << osvi.dwMajorVersion << endl;
cout << osvi.dwMinorVersion << endl;
これは、MSDNによるとWindows 8に対応する6と2を出力します。
私が試した2番目のオプション:
#include <VersionHelpers.h>
if (IsWindowsVistaOrGreater())
printf("VistaOrGreater\n");
if (IsWindows7OrGreater())
printf("Windows7OrGreater\n");
if (IsWindows8OrGreater())
printf("Windows8OrGreater\n");
if (IsWindows8Point1OrGreater())
printf("Windows8Point1OrGreater\n");
if (IsWindows10OrGreater())
printf("Windows10OrGreater\n");
このように、IsWindows10OrGreater()は私のシステムでは定義されておらず、コンパイル エラーが発生します。
これについて何か助けはありますか?