0

私が実際に使用している Windows のバージョンを確認する機会があるかどうか知りたいです。似たようなもの:プリプロセッサ ディレクティブで OS をチェックするにはどうすればよいですか? .

MSDN のコードを試しました:

  1. http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx
  2. 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;
}
4

1 に答える 1