PDA

Показать полную графическую версию : [решено] Программа для запуска определённого приложения, после определения разрядности ОС


nikolas2418
01-08-2016, 01:51
Люди, подскажите, пожалуйста, как можно написать программу на c++, bat или java, которая будет сначала определять разрядность системы, а потом уже запускать приложение?
К примеру тот же самый инсталлятор фреймворка

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

Iska
01-08-2016, 03:34
c++ detect|determine x64 system - Поиск в Google (https://www.google.ru/search?q=c%2B%2B+detect%7Cdetermine+x64+system). «cmd/bat» или «java» подставите в запрос сами.

Вы скажите — Вам для каких целей сие потребно?

greg zakharov
01-08-2016, 10:22
Iska, Вам же написали:
К примеру тот же самый инсталлятор фреймворка,
что в переводе транслятора буквально значит: определение версии с целью установки соответсвующих дистрибутивов. И к гуглу, к слову, бегать вовсе не обязательно, достаточно иметь в арсенале 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, проверка бита рантайм библиотеки, извлечение данных из файла префетча и дыр и пыр, - все зависит от того, насколько глубоко человек знаком с устройством системы.

Iska
01-08-2016, 18:21
Iska, Вам же написали: »
greg zakharov, я это называю «рация на бронепоезде».

nikolas2418
01-02-2017, 01:09
Спасибо большое))




© OSzone.net 2001-2012