私が実際に使用している Windows のバージョンを確認する機会があるかどうか知りたいです。似たようなもの:プリプロセッサ ディレクティブで OS をチェックするにはどうすればよいですか? .
MSDN のコードを試しました:
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx
- http://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx
しかし、それらのどれもが私に良い結果をもたらしました(例:http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspxによると、私のコードは次の場合に 5.1 を出力するはずです私はWindows XPを使用していますが、5が表示されました...)
使用している Windows を確認するための信頼できる方法 (プリプロセッサ ディレクティブの方法が望ましい) はありますか?
私のコード:
#include <windows.h>
#include <iostream>
int main()
{
OSVERSIONINFO osvi;
BOOL bIsWindowsXPorLater;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
// I HAD THIS, AND IT WAS WRONG! :<
std::cout << osvi.dwMajorVersion << "\n";
// CHANGED THE ABOVE LINE TO THE LINE BELOW AND IT IS OK NOW :D
std::cout << osvi.dwMajorVersion << "." << osvi.dwMinorVersion << "\n";
return 0;
}