Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Iska, Вам же написали:
Цитата nikolas2418:
К примеру тот же самый инсталлятор фреймворка
,
что в переводе транслятора буквально значит: определение версии с целью установки соответсвующих дистрибутивов. И к гуглу, к слову, бегать вовсе не обязательно, достаточно иметь в арсенале WinSDK, а там в заголовочных файлах ли, через WindDbg ли, легко отыскивается апишная функция IsWow64Process. В итоге проверка является ли система 64-битной в Си будет выглядеть так:
Скрытый текст
Код: Выделить весь код
#include <windows.h>
#include <stdio.h>

BOOL Is64BitWindows() {
  #if defined(_WIN64)
    return TRUE;
  #elif defined(_WIN32)
    BOOL bit = FALSE;
    return IsWow64Process(GetCurrentProcess(), &bit) && bit;
  #else
    return FALSE;
  #endif
}

int main(void) {
  //sizeof(void *) == 8 ? "64-bit" : "32-bit";
  printf("%s\n", Is64BitWindows() ? "64-bit" : "32-bit");
  
  return 0;
}

Если через командный сценарий, то вариантов много. wmic, systeminfo, проверка бита рантайм библиотеки, извлечение данных из файла префетча и дыр и пыр, - все зависит от того, насколько глубоко человек знаком с устройством системы.

Отправлено: 10:22, 01-08-2016 | #3