Любой язык - [решено] Программа для запуска определённого приложения, после определения разрядности ОС

Ответить
Аватара пользователя
nikolas2418

Любой язык - [решено] Программа для запуска определённого приложения, после определения разрядности ОС

Сообщение nikolas2418 »

Люди, подскажите, пожалуйста, как можно написать программу на c++, bat или java, которая будет сначала определять разрядность системы, а потом уже запускать приложение?

К примеру тот же самый инсталлятор фреймворка



Помогите, пожалуйста, буду очень благодарен
Аватара пользователя
Iska

Re: Любой язык - [решено] Программа для запуска определённого приложения, после определения разрядности ОС

Сообщение Iska »

Iska, Вам же написали:


Цитата nikolas2418:



К примеру тот же самый инсталлятор фреймворка



,

что в переводе транслятора буквально значит: определение версии с целью установки соответсвующих дистрибутивов. И к гуглу, к слову, бегать вовсе не обязательно, достаточно иметь в арсенале WinSDK, а там в заголовочных файлах ли, через WindDbg ли, легко отыскивается апишная функция IsWow64Process. В итоге проверка является ли система 64-битной в Си будет выглядеть так:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

#include 
#include 
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, проверка бита рантайм библиотеки, извлечение данных из файла префетча и дыр и пыр, - все зависит от того, насколько глубоко человек знаком с устройством системы.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»