C++ Sprawdzanie wersji systemu operacyjnego

Witam ponownie.

Tym razem mój problem dotyczy sprawdzanie wersji systemu Windows na jakiej uruchamiany jest program.

Chciałbym aby program podczas uruchamiania sprawdzał wersję systemu i kontynuował działanie, lub też w przypadku

wykrycia inengo os niż wymagany przerywał pracę pokazują komunikat,ponieważ po odpaleniu na Windowsie starszym niż 2000 popełnia sporo błędów,

jedna nie mogę znaleźć rozwiązania które zapisałoby aktualną wersję systemu do zmiennej.

Próbowałem za pomocą systemowego polecenia “ver” przypisać do zmiennej typu string ale nie bardzo chce działać.

Korzystam z devc++ 4.9 lub code::blocks, Windows XP Pro SP2

VerifyVersionInfo

No ok ale można bardziej “łopatologicznie” ?

Jak mam przypisać konkretny nr wersji (np NT 5.1) do zmiennej typu string ?

GetNativeSystemInfo - odnośnik był na stronie link do której podałem wcześniej.

Rozumiem tylko przydało by mi się coś w rodzaju “example:” bo jestem “średnio początkujący” w c++


ok. już mam, zrobiłem w ten sposób:

{


OSVERSIONINFO osvi;

    BOOL bIsWindowsXPorLater;


    ZeroMemory(&osvi, sizeof(OSVERSIONINFO));

    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);


    GetVersionEx(&osvi);


    bIsWindowsXPorLater =

       ( (osvi.dwMajorVersion > 5) ||

       ( (osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion >= 1) ));


    if(bIsWindowsXPorLater)

    {

        cout << "OK";

    } else {

        cout << "Ten program wymaga systemu Windows XP/Vista/2003/7.\n";

        system("pause >nul");

        return 1;

    }

Mój program napisany w języku C (źródła Dev-C++, Open Watcom IDE) do sprawdzania wersji systemu

Windows (od 3.1 do 8). Znajduje się na stronie (w budowie): http://romanworkshop.zz.mu/

w dziale WinAPI/Windows Version Checker.