Вызывается функция GetVersionEx, после вызова заполняется структура, в которой используются поля dwMajorVersion для висты равен 6 Код (Text): OSVERSIONINFO osvi ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osvi); if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0) { if(osvi.wProductType == VER_NT_WORKSTATION){ printf("Windows Vista\n"); } } Вот здесь есть пример побольше http://msdn.microsoft.com/en-us/library/ms724429(VS.85).aspx