Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Определение версии ОС и битности. Get the version OS 
V
    Опции темы
MuForum
  Дата 19.2.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Доброе время суток.

# Задача: Необходимо вывести в лог полную версию винды и битность.
- Начиная от XP и выше...

# Образец:
Цитата

1. Windows XP Professional SP3 32-bit
2. Windws Seven Ultimate 64-bit
и т.д.



# Добавлено: Как определить битность системы я вроде разобрался. (32 или 64 битная)
Код

typedef BOOL (WINAPI *IW64PFP)(HANDLE, BOOL *);
//---------------------------------------------------------------------------

int GetWindowsBitness()
{
    int result = 32;
    // ----
    // When this application is compiled as a 32-bit app,
    // and run on a native 64-bit system, Windows will run
    // this application under WOW64.  WOW64 is the Windows-
    // on-Windows subsystem that lets native 32-bit applications
    // run in 64-bit land.  This calls the kernel32.dll
    // API to see if this process is running under WOW64.
    // If it is running under WOW64, then that clearly means
    // this 32-bit application is running on a 64-bit OS,
    // and IsWow64Process will return true.
    IW64PFP IW64P = (IW64PFP)GetProcAddress(GetModuleHandle("kernel32"), "IsWow64Process");
    // ----
    if(IW64P != NULL)
    {
        bool bStatus = false;
        // ----
        IW64P(GetCurrentProcess(), &bStatus);
        // ----
        result = (bStatus) ? 64 : 32;
    }
    // ----
    return result;
}

- А вот как определить полную версию ОС, пока не не получается реализовать.
- Мне нужно определять от XP и выше. (Предыдущие версии определять не надо.)


P.S. -> Надеюсь на помощь, подсказки.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
SenkraD
Дата 19.2.2010, 13:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 4
Всего: 23



Вот может поможет + вот


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
MuForum
Дата 19.2.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Цитата(SenkraD @ 19.2.2010,  13:23)
Вот может поможет + вот

То, что нужно.
+1 в репу за оперативную помощь.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
artsb
Дата 19.2.2010, 17:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 5
Всего: 64



Цитата(MuForum @  19.2.2010,  13:10 Найти цитируемый пост)
- А вот как определить полную версию ОС

MuForum, всегда можно заглянуть на MSDN - OSVERSIONINFOEX.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1085 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.