W7, режим совместимости и GetVersion

Тема в разделе "WASM.WIN32", создана пользователем psu, 9 май 2011.

  1. psu

    psu New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2006
    Сообщения:
    198
    Как определить настоящую версию винды в режиме совместимости? GetVersion возвращает код емулируемой версии, а не действительной ( например 0a280105 = 5.1.2600 вместо 1db00106 = 6.1.7600 )
     
  2. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    1. Создать дочерний процесс, который выполнит все необходимые действия
    2. Создать удаленный поток, которой выполнит все что нужно
    3. Считать значение в реестре
    4. Снять флаг режима совместимости и сделать self-restart
    5. Считать VERSION_INFO у kernel32.dll

    Вариантов мильон (С)
     
  3. gaeprust

    gaeprust New Member

    Публикаций:
    0
    Регистрация:
    2 май 2011
    Сообщения:
    188
    Из USD прочитать(0x7FFE026C). Там значения могут только добавляться в новой версии в этом блоке, а блок в разделяемой всеми процессами памяти, значит там значение натуральное, в отличие от пеб.
     
  4. psu

    psu New Member

    Публикаций:
    0
    Регистрация:
    12 июл 2006
    Сообщения:
    198
    Спасибо, последний вариант хорош ( kernel32 version_info )