GetVersionEx()

Новая реализация функции получения версии системы GetVersionEx():

BOOL GetVersionEx
(
LPOSVERSIONINFO lpVersionInfo // указатель на структуру,
//в которую будет получена информация.

);

А вот и структура :-)

typedef struct _OSVERSIONINFO
{
DWORD dwOSVersionInfoSize; // размер структуры
DWORD dwMajorVersion; // идентификатор операционной системы
DWORD dwMinorVersion; // идентификатор версии
DWORD dwBuildNumber; // идентификатор сборки
DWORD dwPlatformId; // платформа
TCHAR szCSDVersion[128]; // дополнительная информация об операционной системе
} OSVERSIONINFO;

Перед использованием этой функции надо указать размер структуры в параметре dwOSVersionInfoSize используя sizeof(OSVERSIONINFO).

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
OSVERSIONINFO osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx((OSVERSIONINFO*)&osvi);
}