Определение версии ОС программно

Тема в разделе "WASM.WIN32", создана пользователем vg, 23 сен 2008.

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Как программно определить в какой ОС (XP или Vista) запущена прога.
     
  2. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    GetVersionEx
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Вызывается функция GetVersionEx, после вызова заполняется структура, в которой
    используются поля dwMajorVersion для висты равен 6

    Код (Text):
    1. OSVERSIONINFO osvi
    2.  
    3. ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
    4. osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    5. GetVersionEx(&osvi);
    6.  
    7. if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0) {
    8.     if(osvi.wProductType == VER_NT_WORKSTATION){
    9.        printf("Windows Vista\n");
    10.     }
    11. }
    Вот здесь есть пример побольше
    http://msdn.microsoft.com/en-us/library/ms724429(VS.85).aspx